Voy a escribir este post despues de no dormir en toda la noche por segunda vez en mi vida (espero no caer dormido en la cena de navidad)
primero el login de usuarios
index.php
<?php if($_COOKIE['usuario'] and $_COOKIE['contrasena']) { //Comprobamos si las cookies estan activas
echo "Hola,".$_COOKIE['usuario']."!<br>";
echo "<a href='salir.php'>[Salir]</a>";
} else { //Y si no es asi pues mostramos el formulario de entrada
echo '
<form name="form1" method="post" action="conectar.php">
Usuario:
<input type="text" name="usuario" id="usuario">
<br>
Contraseña:
<input type="text" name="contrasena" id="contraseña">
<br>
<input type="submit" name="ok" id="ok" value="Conectar">
<a href="registro.php" >Regístrate</a>
</form>
';
}
?>
...ahora el formulario de registro...
<?php
if (isset($_POST['ok'])) { //comprobamos si se ha pulsado el boton de registro
if (is_dir( $_POST['usuario'] )) { //comprobamos si existe el usuario
die('ya existe un usuario con ese nombre');
} else {
if ($_POST['contrasena1'] != $_POST['contrasena2']) { //vemos si las contraseñas no son iguales
die('las contraseñas no coinciden');
} else {
//creamos un directorio con el nombre del usuario
mkdir( $_POST['usuario'] );
//escribimos los datos del usuario en un archivo llamado perfil.php dentro de esa carpeta
$perfil=fopen($_POST['usuario']."/perfil.php", "w"); //creamos el archivo perfil.php, el parámetro W en esta funcion indica que si el archivo no existe que lo cree
fwrite($perfil, "<?php
\$contrasena=".$_POST['contrasena1'].";
\$email='".$_POST['email']."';
?>"); //escribimos los datos del usuario en lenguaje php
fclose($perfil); //cerramos el archivo creado
echo "Te has registrado sin ningun problema, ENORABUENA! ahora puedes logearte con tus datos";
}
}
} else { //si no pulsamos el boton mostramos el formulario
echo '
<form id="form1" name="form1" method="post" action="">
Usuario:
<input type="text" name="usuario" id="usuario" /><br />
contraseña:
<input type="text" name="contrasena1" id="contrasena1" />
<br />
repite la contraseña:
<input type="text" name="contrasena2" id="contrasena2" /><br />
Email:
<input type="text" name="email" id="email" /><br />
<input type="submit" name="ok" id="ok" value="Enviar" />
</form>
';
}
?>
..ahora el conectar.php que servira para entrar en el panel de usuario despues de habernos logeado correctamente
<?php
if(isset($_POST['ok'])) {
if (!($_COOKIE['usuario'] and $_COOKIE['contrasena'])) {
if (!$_POST['usuario'] and !$_POST['contrasena']) { //comprobamos si se han introducido valores en los 2 campos de texto
die('Debes entrar el usuario y la contraseña');
} else {
if (!is_dir($_POST['usuario'])) { //comprobamos si existe el usuario
die ('usuario o contraseña incorrectos');
} else {
include($_POST['usuario']."/perfil.php"); //incluimos el archivo de texto para que lea la contraseña
if ($_POST['contrasena'] != $contrasena) {
die('usuario o contraseña incorrectos');
} else { //si no es asi creamos las cookies
setcookie("usuario",$_POST['usuario'],time()+3600); //la diracion de la sesion se pone en segundos
setcookie("contrasena",$_POST['contrasena'],time()+3600);
header("location: index.php"); //llevamos al usuario al panel de usuario
}
}
}
} else {
echo "Error, Ya estas identificado";
}
}
?>
finalmente para finalizar y terminar de escribir este post hay que hacer el salir.php que servira para desconectarse
<?php
if ($_COOKIE['usuario'] and $_COOKIE['contrasena']) { //comprobamos si esta identificado el usuario
//quitamos las cookies!
setcookie("usuario");
setcookie("contrasena");
//ya no estan, xD
header("location: index.php"); //lo redirigimos al index
} else {
echo "No estas identificado, asi que no puedes desconectarte";
}
?>
bueno, espero que sirva como orientacion.
SALUDOS.