DeNunCianDo  
Denunciando   Video Porno luly bossa Completo   Video Porno Sandra Muños Completo   Alejandra Omaña Primer video porno   Lina Arroyave, DESNUDA, la mama del hijo de Kevin Roldan   

Retroceder   DeNunCianDo » ..:::: CoMuNiDaD DeNunCianDo.CoM ::::.. » Discusiones Generales » Zona Tecnologica » Programacion

Programacion Pregunta, consulta o ayuda a resolver los problemas o incógnitas que tengan los demás miembros de la comunidad sobre programación en general.

Hola Invitado!
Tómate un minuto para registrarte, es 100% GRATIS y no verás ninguna publicidad! ¿Qué estás esperando?
tapatalk Para Ingresa a Denunciando.com por medio de TapaTalk Clic ACA
Registrarse Ahora
Programacion »

Como hacer un sencillo sistema de registro en PHP y MySQL

Participa en el tema Como hacer un sencillo sistema de registro en PHP y MySQL en el foro Programacion.
....



Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿quien me ayuda a entender el registro del sistema? cortesp8 Denuncias En General 1 13-03-2010 19:54:09
Cómo arruinar una boda en 1 sencillo paso XD yei.silver Chistes / Cosas Charras 3 05-03-2010 19:08:08
Expertos debaten un sistema que podría hacer pasar a la historia el código de barras WeBMaSTeR_ShEvI Noticias Tecnologicas 5 08-07-2009 23:54:20
Claves de registro para hacer tu windows legitimo DIEGOTATA Software - Programas 5 29-12-2008 13:10:16

Respuesta
Herramientas
 
Antiguo , 18:01:16   #1
Post Como hacer un sencillo sistema de registro en PHP y MySQL Calificación: de 5,00

Los mejores licores
Sencillo sistema de registro de usuarios en PHP y MySQL

Quiero mostrarles como hacer para que tu web tenga un sistema de registro, ya con esto puedes hacer muchas cosas como darles permisos específicos, restringir la entrada de visitantes, etc..

Empecemos:
Para el desarrollo de nuestro script necesitaremos la creación de 4 archivos .php:
  • conexion.php
  • registro.php
  • login.php
  • perfil.php

  1. Lo primero es crear una base de datos a la cual vamos a poner nombre "registro".
    En la cual vamos a generar la siguiente consulta SQL:
    [CODE]CREATE TABLE usuarios (
    id int(5) not null auto_increment,
    fecha int(10) not null,
    nick varchar(20) not null,
    pass varchar(32) not null,
    mail varchar(40) not null,
    ip varchar(15) not null,
    primary key (id),
    key (nick,pass)
    )[/CODE]
  2. Empezaremos con la creación de nuestro primer archivo "conexion.php".
    Este archivo también tendrá algunas funciones php necesarias para el registro y el logueo de los usuarios.

    [CODE]<?php
    $nombre_server[1] = 'localhost'; //Servidor al cual nos vamos a conectar.
    $nombre_user[2] = 'root'; //Nombre del usuario de la base de datos.
    $password[3] = ''; //Contraseña de la base de datos
    $nombre_db[4] = 'registro'; //nombre de la base de datos

    $conectar = @mysql_connect($nombre_server[1],$nombre_user[2],$password[3]) or exit('Datos de conexion incorrectos.');
    mysql_select_db($nombre_db[4]) or exit('No existe la base de datos.');

    /*En este archivo también pondremos unas funciones necesarias para el registro y el login*/
    session_start();

    /*Función que se encarga de eliminar codigo malicioso de las variables.*/
    function limpiar($var)
    {

    $var = trim($var);
    $var = htmlspecialchars($var);
    $var = str_replace(chr(160),'',$var);
    return $var;
    }

    /*Función que se encarga de validar el email de registro para que sea correcto.*/
    function validar_email($email){
    $mail_correcto = 0;
    //compruebo unas cosas primeras
    if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@"))
    {
    if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," ")))
    {//miro si tiene caracter .
    if (substr_count($email,".")>= 1)
    {//obtengo la terminacion del dominio
    $term_dom = substr(strrchr ($email, '.'),1);
    //compruebo que la terminaci?n del dominio sea correcta
    if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) )
    {//compruebo que lo de antes del dominio sea correcto
    $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
    $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
    if ($caracter_ult != "@" && $caracter_ult != ".")
    {
    $mail_correcto = 1;
    }
    }
    }
    }
    }
    if ($mail_correcto)
    return 1;
    else
    return 0;
    }

    /*Funcion que se encarga de validar si el usuario esta registrado en el sistema*/
    function user_login()
    {
    if(!$_SESSION['id'])
    {
    exit ("Solo usuarios registrados, <a href='javascript:history.back(-1)'>Volver</a>");
    }
    }
    ?>[/CODE]
  3. Ya tenemos nuestro archivo de conexión con la base de datos entonces continuamos con el archivo "registro.php" que como su nombre lo indica se encargara de almacenar los usuarios en la base de datos.

    [CODE]<?php
    include("conexion.php");
    //Sistema de registro --HiperAcme.net--

    if(isset($_POST['registro']))//Vallidamos que el formulario fue enviado
    { /*Validamos que todos los campos esten llenos correctamente*/
    if(($_POST['nick'] != '') && ($_POST['mail'] != '') && ($_POST['pass'] != '') && ($_POST['conf_pass'] != ''))
    {
    if($_POST['pass'] != $_POST['conf_pass'])
    {
    echo '<br />Las contrase&ntilde;as no coinciden';
    }
    else
    {
    $date= time();
    $nick= limpiar($_POST['nick']);
    $mail= limpiar($_POST['mail']);
    $pass= md5(md5(limpiar($_POST['pass'])));
    $ipuser= $_SERVER['REMOTE_ADDR'];

    $b_user= mysql_query("SELECT nick FROM usuarios WHERE nick='$nick'");
    if($user=@mysql_fetch_array($b_user))
    {
    echo '<br />El nombre de usuario o el email ya esta registrado.';
    mysql_free_result($b_user); //liberamos la memoria del query a la db
    }
    else
    {
    if(validar_email($_POST['mail']))
    {
    mysql_query("INSERT INTO usuarios (fecha,nick,mail,pass,ip) values ('$date','$nick','$mail','$pass','$ipuser')");
    echo '<br />Te has registrado Correctamente, ahora podras iniciar sesi&oacute;n como usuario registrado.';
    }
    else
    {
    echo '<br />El email no es valido.';
    }
    }
    }
    }
    else
    {
    echo '<br />Deberas llenar todos los campos.';
    }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Registro de Usuarios</title>
    </head>
    <body>
    <h2>Sistema de Registro</h2>
    <div align="center">
    <form name="registrar" action="registro.php" method="post" onsubmit="return validar()" />
    <dt><label>Nick:</label></dt>
    <input type='text' name='nick' /><br /><br />

    <dt><label>E-mail:</label></dt>
    <input type='text' name='mail' /><br /><br />

    <dt><label>Contraseña:</label></dt>
    <input type="password" name='pass' /><br /><br />

    <dt><label>Confirmar Contraseña:</label></dt>
    <input type="password" name='conf_pass' /><br /><br /><br /><br />

    <input type="submit" name="registro" style="width:100px;" tabindex="6" value="Registrar" />
    <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
    </form>
    <a href="login.php">Identificarse</a>
    </div>
    </body>
    </html>[/CODE]Hasta aquí nuestro sistema de registro ya funciona y va perfectamente.
  4. Ahora procedemos a crear el archivo de conexión de los usuarios , el "login.php".
    Este archivos es el encargado de guardar la sesión se los usuarios para que el sistema los reconozca como usuarios registrados y logueados.

    [CODE]<?php
    include("conexion.php");

    if(isset($_POST['login']))
    {
    $nick= $_POST['nick'];
    $pass= md5(md5($_POST['pass']));
    $b_user=mysql_query("SELECT * FROM usuarios WHERE nick='$nick'");
    $ses = @mysql_fetch_assoc($b_user) ;
    if(@mysql_num_rows($b_user))
    {
    if($ses['pass'] == $pass)
    {
    $_SESSION['id']= $ses["id"];
    $_SESSION['fecha']= $ses["fecha"];
    $_SESSION['nick']= $ses["nick"];
    $_SESSION['mail']= $ses["mail"];
    $_SESSION['ip']= $ses["ip"];
    }
    else
    {
    echo 'Nombre de usuario o Contrase&ntilde;a incorrecta.';
    }
    }
    else
    {
    echo 'Nombre de Usuario o contrase&ntilde;a incorrecta.';
    }
    }

    if(isset($_GET['modo']) == 'desconectar')
    {
    session_destroy();
    echo '<meta http-equiv="Refresh" content="2;url=login.php"> ';
    exit ('Te has desconectado del sistema.');
    }

    if(isset($_SESSION['id']))
    {
    echo 'Bienvenido <b>' . $_SESSION['nick'] . '</b><br /><br />';
    echo '<b>Fecha registro:</b> ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '<br />';
    echo '<b>Email:</b> ' . $_SESSION['mail'] . '<br />';
    echo '<b>IP:</b> ' . $_SESSION['ip'] . '<br /><br />';
    echo '<a href="login.php?modo=desconectar">Salir</a>';
    }
    else
    {
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Login</title>
    </head>
    <body>
    <h2>Conetarse - Desconectarse</h2>
    <div align="center">
    <form name="login_user" action="login.php" method="post" />
    <dt><label>Nick:</label></dt>
    <input type='text' name='nick' /><br /><br />
    <dt><label>Contraseña:</label></dt>
    <input type="password" name='pass' /><br /><br />

    <input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
    <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
    </form>
    <a href="registro.php">Registrarse</a>
    </div>
    <?php
    }
    ?>
    </body>
    </html>[/CODE]Aquí no solo tenemos el encargado de iniciar la sesión de los usuarios, sino que también se cumplen dos funciones mas:
    • Mostrar algunas opciones del perfil del usuario luego de verificar que esta logueado.
    • Terminar la sesión de usuario [Desconectarse].
    Que podrán verlas funcionando a la hora de implementar el código o en el ejemplo funcional que dejare al final.

    Hasta este momento, ya tienes todo el registro el logueo de usuarios totalmente funcional, así que hasta aquí ya tienes tenemos completo nuestro sistema de información.
  5. El ultimo de nuestros archivos, simplemente es un archivo de ejemplo para mostrar como proteger nuestra paginas de invitados que solo sena accesibles para usuarios registrados, en este caso crearemos el archivo "perfil.php".
    [CODE]<?php
    include("conexion.php");
    user_login();
    echo '<h2>Pagina solo para usuarios registrados</h2><br />';
    echo '<b>Nombre de Usuario:</b> ' . $_SESSION['nick'] . '<br />';
    echo '<b>Fecha de registro:</b> ' . date("d-m-Y - H:i", $_SESSION['fecha']) . '<br />';
    echo '<b>Email de registro:</b> ' . $_SESSION['mail'] . '<br />';
    echo '<b>IP:</b> ' . $_SESSION['ip'] . '<br /><br />';
    echo '<a href="login.php?modo=desconectar">Salir</a>';
    ?>[/CODE]La función user_login() (que pueden encontrar en el archivo conexion.php) es la encargada de verificar que el usuario este logueado, de lo contrario le mostrara un aviso diciéndole que no lo esta y no le dejara ver el contenido de la pagina que esta visitando.
    Así que las paginas que quieran proteger deberán agregarle la linea:[CODE]user_login();[/CODE]Al principio luego de incluir el archivo de conexión.

Cualquier duda me la pueden preguntar y estaré dispuesto a ayudarles, el archivo con todo el script lo pueden descargar desde aquí:
Solo los usarios con mas de 1000 puntos de reputacion o los usuarios con membresia Gold, pueden ver este link
Que es la reputacion? - Membresias Pagas


Y lo pueden ver funcionando en
Solo los usarios con mas de 1000 puntos de reputacion o los usuarios con membresia Gold, pueden ver este link
Que es la reputacion? - Membresias Pagas

Comentarios Facebook

Alorse no está en línea   Responder Citando

compartir
                 
remocion sep Gold sep Silver sep Donar

marcaNo Calculado   #1.5
SponSor

avatar
 
Me Gusta denunciando
Estadisticas
Mensajes: 898.814
Me Gusta Recibidos: 75415
Me Gustado Dados: 62988
Fecha de Ingreso: 02 jun 2006
Reputacion
Puntos: 1574370
Ayudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen caminoAyudante de Santa está en el buen camino
emoticon Re: Como hacer un sencillo sistema de registro en PHP y MySQL

 
Los mejores licores
 
   
   
_______________________________________________
Publicidad :)
conectado
Antiguo 21-07-2010 , 20:54:52   #2
Recien Registrado
No Tiene Avatar Configurado
Me Gusta
Estadisticas
Mensajes: 2
Me Gusta Recibidos: 0
Me Gustas Dados: 0
Ingreso: 21 jul 2010

Temas Nominados a TDM
Temas Nominados Temas Nominados 0
Nominated Temas Ganadores: 0
Reputacion Poder de Credibilidad: 0
Puntos: 10
djwall el Usuariox esta entre el bien y el mal
  
Predeterminado Respuesta: Como hacer un sencillo sistema de registro en PHP y MySQL

te hago una pregunta capo, como hago para tener un link que diga " olvide mi contraseña"??? me gustaria saber si se puede y como, desde ya... muchas gracias!

djwall no está en línea   Responder Citando
Antiguo 22-07-2010 , 09:52:21   #3
Recien Registrado
 
Avatar de Alorse
Me Gusta
Estadisticas
Mensajes: 16
Me Gusta Recibidos: 15
Me Gustas Dados: 0
Ingreso: 08 ene 2009

Temas Nominados a TDM
Temas Nominados Temas Nominados 0
Nominated Temas Ganadores: 0
Reputacion Poder de Credibilidad: 0
Puntos: 64
Alorse el Usuariox va por buen camino
  
Predeterminado Respuesta: Como hacer un sencillo sistema de registro en PHP y MySQL

Claro que se puede, pero el "como", es cuestión de esperar otra guía ya que incluso puede que sea un poco mas compleja que esta, esperame unos dias y miro como la hago.

Un saludo.

Alorse no está en línea   Responder Citando
Antiguo 23-07-2010 , 20:05:35   #4
Recien Registrado
No Tiene Avatar Configurado
Me Gusta
Estadisticas
Mensajes: 2
Me Gusta Recibidos: 0
Me Gustas Dados: 0
Ingreso: 21 jul 2010

Temas Nominados a TDM
Temas Nominados Temas Nominados 0
Nominated Temas Ganadores: 0
Reputacion Poder de Credibilidad: 0
Puntos: 10
djwall el Usuariox esta entre el bien y el mal
  
Wave Respuesta: Como hacer un sencillo sistema de registro en PHP y MySQL

Ok, muchas gracias x tu respuesta... espero tu otra respuesta jaja, te mando un saludo y gracias x todo. la verdad q me gusto tu post... lo voy a usar a este sistema de registro, pero voy a esperar lo de la contraseña... un abrazo q estes bien. Walter.-

djwall no está en línea   Responder Citando
Respuesta
Los mejores licores

Etiquetas
mysql, php, registro, sencillo, sistema




La franja horaria es GMT -5. Ahora son las 09:24:58.
Desarrollado por: vBulletin® Versión 3.8.9
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.
DeNunCianDo.CoM ©
DeNunCianDo


Page generated in 0,16930 seconds with 16 queries

SEO by vBSEO