Después de recibir muchas proposiciones por msn de varios usuarios que querian que hiciera un codigo libre de un registro de usuarios, no me dispongo a hacer un gran codigo libre de registro de usuarios, pero si e hecho uno de bastante simple que servira de tutorial y seguro que lo entendereis todos y sino exponeis las dudas.
index.php:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados
echo"Hola ".$_COOKIE['usuario']."<br>"; #Todo lo que se ponga aquí hasta el else se mostrara solamente si esta logeado
echo'<a href="salir.php">Salir</a>';
} else {
#Si no esta conectado le mostramos el logeador
echo'<form method="POST" action="entrador.php">
<p>Usuario:<br>
<input type="text" name="usuario" size="20"><br>
Contraseña:<br>
<input type="password" name="contrasena" size="20"><br>
<input type="submit" value="OK" name="OK"></p>
</form><br>
<a href="registrador.php">¡Registrate!</a>';
}
?>entrador.php:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
include("conectar.php"); #incluimos el archivo de conexión a la base de datos
#Seleccionamos en la tabla usuarios de la base de datos la fila del nombre de usuario que tiene el nick igual al introducido en el formulario de conexión
$query = mysql_query("SELECT * FROM usuarios WHERE usuario='$_POST[usuario]'");
$datos = mysql_fetch_array($query);
#Comprovamos si la contraseña introducida es igual a la que se introdujo cuando se registro
if($datos['contrasena'] == md5($_POST['contrasena'])){
# Si es asi creamos las cookies
setcookie("usuario",$datos['usuario'],time()+3600);
setcookie("contrasena",$datos['contrasena'],time()+3600);
header("location: index.php"); #Por ultimo lo volvemos a mandar al index.php
} else {
#Si no son correctos los datos le avisamos de que vuelva a intentarlo
echo "<b>Hay un error</b>: No a sido posible conectarte, vuelve a intentarlo ;)";
echo "<a href=\"javascript:history.back(1)\"><b>Volver atrás</b></a>";
}
?>salir.php:
<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
if($_COOKIE['usuario'] and $_COOKIE['contrasena']){ #Comprovamos si existen las cookies, vamos que si estan o no logeados
#Si estaban conectados eliminamos las cookies
setcookie("usuario");
setcookie("contrasena");
header("location: index.php");
} else {
#Si no es asi les decimos que no se les pueden desconectar porque no estan conectados, obio no? xD
echo "<b>Hay un error</b>: Usted no estaba conectado, por lo tanto no puede ser desconectado<br>";
echo "<a href=\"javascript:history.back(1)\"><b>Volver atrás</b></a>";
}
?>registrador.php:
<?
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
include("conectar.php"); #incluimos el archivo de conexión a la base de datos
if(isset($_POST['OK'])){ #Comprovamos si se a pulsado el boton OK
#Si es asi comprovamos que sean correctas las contras
if($_POST['contrasena1'] == $_POST['contrasena2']){ #Comprovamos que las contraseñas sean las 2 iguales
#Buscamos haver si hay algun mail o nombre de usuario igual al introducido
$consultamos = 'SELECT * FROM usuarios WHERE usuario="' . $_POST['usuario'] . '" or correo="' . $_POST['correo'] . '"';
$comprovacion = mysql_query($consultamos);
#Buscamos haver si hay algun usuario o correo ya igual al seleccionado
if(mysql_num_rows($comprovacion)==0){
#Buscaremos si hay errores y si los hay creamos la variable con el contenido adecuado
} else {
$error = "El nombre de usuario y/o el correo electronico ya a sido registrado";
}
} else {
$error = "Las contraseñas que nos a proporcionado no coinciden";
}
#Comprovamos haver si hay alguna variable que contenga un error
if($error){
#Si es asi lo mostramos
echo"$error";
} else {
#Si no hau errores registramos al usuario
$registrar = "INSERT INTO usuarios (usuario,contrasena,correo) VALUES ('".$_POST['usuario']."','".md5($_POST['contrasena1'])."','".$_POST['correo']."')";
if(mysql_query($registrar)){ #Comprovamos si se ha realizado el registro
echo"Has sido registrado, ¡¡¡Enhorabuena!!!"; #Si se a registrado le decimos que a sido registrado
} else {
echo"No se te a podido registrar, ¡¡¡sorry!!!"; #Si no a sido registrado le decimos que no a sido registrado
}
}
} else {
#Si no a pulsado el botón OK le mostramos el registrador
echo'<form method="POST" action="registrador.php">
<p>Usuario: <input type="text" name="usuario" size="20"><br>
Contraseña: <input type="password" name="contrasena1" size="20"><br>
Repetir Contraseña: <input type="password" name="contrasena2" size="20"><br>
Correo: <input type="text" name="correo" size="20"><br>
<input type="submit" value="OK" name="OK"><input type="reset" value="Borrar" name="Borrar"></p>
</form>';
}
?>el
conectar.php por si alguien no sabe como conectar:
<?php
// Registro de usuarios by G2K-> cristiantorrijosreus@hotmail.com
$conectar = mysql_connect( 'localhost', 'usuariodb', 'contradb') or die('No se puede conectar al servidor.' );
mysql_select_db('nombre base de datos', $conectar) or die('No se puede conectar con la base de datos.');
?>y el
sql:
CREATE TABLE `usuarios` (
`id` smallint(255) NOT NULL auto_increment,
`usuario` varchar(30) collate latin1_general_ci NOT NULL,
`contrasena` varchar(50) collate latin1_general_ci NOT NULL,
`correo` varchar(100) collate latin1_general_ci NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
Recordar que no esta bien acreditarse los codigos libres que se publican, solo pido eso, que no se acrediten los codigos, recordar que os estareis engañando a vosotros mismos

Saludos
PD:
Link de descarga