Hola,
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: OJO: Al siguiente codigo le falta la seguridad, puedes usar las funciones addslashes, htmlentities y trim para ponerle mas seguridad En este tutorial voy a usar las sessiones, porque son mas seguras que las cookies ( ya que las cookies se pueden modificar ).
Primero vamos a la bd, a crear la tabla. La tabla puede ser como esta:
Código sql:
Ver originalCREATE 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:
Ver original<?php
session_start(); // Iniciamos la session, es muy importante esto. // 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() ?>
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 ):
Código html:
Ver original<form name="login_form" method="post" action="entrar.php"> <input type="text" name="usuario" id="usuario"></label> <input type="password" name="clave" id="clave"> <input type="submit" name="button" id="button" value="Entrar">
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 ):
Código php:
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.";
}
?>
Despuse crearemos el form de registro, lo llamaremos
registro.html (tambien puede ser de otra manera y extencion), como este:
Código html:
Ver original<form name="register_form" method="post" action="registrar.php"> <input type="password" name="clave" id="clave"></label> <input name="email" type="text" id="email"></label> <input type="submit" name="entra" id="button" value="Entrar">
Despues crearemos el archivo
registrar.php:
Código 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
if(mysql_num_rows($consultar)==1){ // Si devuelve 1 registro, ya existe el usuario echo "Usuario ya existente.";
}else{ // Si no...
$consulta_reg="INSERT INTO users (nick,clave,email) VALUES ('".$user."','".$clave."','".$email."')";
echo "Usuario registrado correctamente.";
}
?>
Ahora creamos el archivo
salir.php:
Código php:
Ver originalinclude('config.php'); // Incluimos la conexion a la bd y la session
unset($_SESSION['usuario']); // Borramos la session echo "Chau!";
Terminamos nusetro sistema de usuario
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:
Ver originalinclude('config.php'); // Incluimos la conexion a la bd y la session
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 ):
Código php:
Ver originalif(isset($_SESSION['usuario'])){ // isset sirve para saber si existe la session. echo "Estas logeado";
}else{
echo "No estas logeado!";
}
Es un simple
isset que sirve para saber si existe una variable ( devuelve true si existe o false si no existe ).
Bueno,, eso es todo
Espero que le alla servido.
Salu2
PD: No probe el codigo xD, lo ise mientras escribia el tutorial.