Para dejar de resivir mensajes de como hacer un sistema de usuario, le ago una guia
¿ Que es un sistema de usuario ?
Basicamente es reconocer al usuario en cualquiera parte de tu web, para eso podemos usar sessiones o cookies ( entre otras opciones ). El usuario deve tener su id unico ( sino, no vamos a saber quien es ).
¿ Como se hace un sistema de usuario ?
Si pienzas que es dificil, olvidalo, no es dificil . Es simple, ya lo veras.
Cita:
En este tutorial voy a usar las sessiones, porque son mas seguras que las cookies ( ya que las cookies se pueden modificar ).OJO: Al siguiente codigo le falta la seguridad, puedes usar las funciones addslashes, htmlentities y trim para ponerle mas seguridad
Primero vamos a la bd, a crear la tabla. La tabla puede ser como esta:
Código sql:
Ver original
CREATE TABLE `users` ( `id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `nick` VARCHAR( 100 ) NOT NULL , `clave` VARCHAR( 100 ) NOT NULL , `email` VARCHAR( 100 ) NOT NULL ) ENGINE = MYISAM ;
Despues creamos un archivo de conexion a la bd y creacion de la session, lo llamare config.php ( porque tiene las configuraciones, tambien lo pueden llamar de la manera que quieran ). En este podremos:
Código php:
Despues nesesitamos el formulario de login, para eso creamos un archivo llamado login.html ( tambien lo pueden llamar de otra manera y otro formato como php ):Ver original
<?php // Aqui definiremos los datos de conexion, en un array. $conexion_dat['host'] = "localhost"; // Aqui pondremos el ip o host de la bd $conexion_dat['usuario'] = "root"; // Aqui ponemos el usuario de la bd $conexion_dat['clave'] = ""; // Aqui ponemos la clave de la bd $conexion_dat['bd'] = "base_de_datos"; // Aqui ponemos la bd $conexion=mysql_connect($conexion_dat['host'],$conexion_dat['usuario'],$conexion_daton['clave']) or die(mysql_error()); // Aqui conectamos a la bd, si falla ( or die ), mostramos el error que nos da mysql_error() $bd_conect=mysql_select_db($conexion_dat['bd'],$conexion) or die(mysql_error()); // Aqui nos conectamos a la bd, llo mismo que arriba si falla. ?>
Código html:
Despues creamos el archivo que va a reconoser al usuario, lo llamaremos entrar.php ( pueden llamarlo de otra forma, pero modifique en el formulario el nombre ):Ver original
Código php:
Despuse crearemos el form de registro, lo llamaremos registro.html (tambien puede ser de otra manera y extencion), como este:Ver original
<?php include('config.php'); // Incluimos la conexion a la bd y la session $user=$_POST['usuario']; $clave=$_POST['clave']; $consulta="SELECT * FROM users WHERE nick='".$user."' AND clave='".$clave."'"; // Selecionamos el nick y la clave $consultar=mysql_query($consulta,$conexion) or die(mysql_error()); // En el primer parametro ponemos la consulta, y en el segundo ponemos la conexion a la bd if(mysql_num_rows($consultar)==1){ // mysql_num_rows sirve para saber cuantos resultados devolvio la consulta // Si devolvio 1 resultado, es que los datos del usuario estan bien, porque selecionamos de la bd el nick y la clave. // es casi imposible que devuelva mas de 1, porque deven aver 2 personas que se registren con el mismo nick y clave, pero ya // vamos a evitar eso en el registro $_SESSION['usuario']=$user; // Creamos la session y le damos un dato para que lo guarde, con esta session identificamos al usuario en cualquier parate de la web. echo "Se a logeado correctamente como ".$user; }else{ // Sino devolvio 1 resultado echo "Datos inconrrectos. Intente denuevo."; } ?>
Código html:
Despues crearemos el archivo registrar.php:Ver original
Código php:
Ahora creamos el archivo salir.php:Ver original
<?php include('config.php'); // Incluimos la conexion a la bd y la session $user=$_POST['usuario']; $clave=$_POST['clave']; $email=$_POST['email']; $consulta="SELECT * FROM users WHERE nick='".$user."'"; // Selecionamos el nick, para comprobar si existe echo "Usuario ya existente."; }else{ // Si no... $consulta_reg="INSERT INTO users (nick,clave,email) VALUES ('".$user."','".$clave."','".$email."')"; echo "Usuario registrado correctamente."; } ?>
Código php:
Terminamos nusetro sistema de usuario Ver original
include('config.php'); // Incluimos la conexion a la bd y la session echo "Chau!";
Ahora, solo falta saber cuanto esta logeado y cuando no. Para eso en el archivo index.php ( o puede ser otro), incluimos el archivo config.php:
Código php:
Esto es importante para que no se pierda la session. Hay que incluirlo en cada pagina que queramos saber si esta logeado. Y por ultimo para saber si esta logeado, esto ( oviamente tiene que estar el include de config.php ):Ver original
include('config.php'); // Incluimos la conexion a la bd y la session
Código php:
Es un simple isset que sirve para saber si existe una variable ( devuelve true si existe o false si no existe ).Ver original
echo "Estas logeado"; }else{ echo "No estas logeado!"; }
Bueno,, eso es todo
Espero que le alla servido.
Salu2
PD: No probe el codigo xD, lo ise mientras escribia el tutorial.