Tengo mi registro y reconocimiento de usuarios. Y quiera que al rellenar el form de login, se cree una cookie con el nombre usuario, para que la proxima vez que entres al sitio te aparezca tu sesion directamente.
Bueno he intentado varias cosas como crear directamente la cookie con la variable del form donde ponemos el nick, y más tarde al entrar a las páginas que hacen la comprovación de sesión, si no encuetra la sesión iniciada o la cookie no nos sale nick, y al contrario nos muestra nuestro nick.
Pongo los códigos de mis intentos:
control.php
este procesa el form
Código PHP:
<?php
session_start();
$usuario = $_POST['usuario'];
$_SESSION['usuario'] = $usuario;
//conecto con la base de datos
$conn = mysql_connect("localhost","+++","+++");
//selecciono la BBDD
mysql_select_db("aerotechdb",$conn);
//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM mi_db WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
setcookie("nick", $valor); //INTENTO DE CREAR LA COOKIE SI EL NICK ESTÁ EN LA BASE DE DATOS EL $valor viene de el form que es la variables donde insertamos el nick
header ("Location: http://www.web.es/gracias.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
este lo incluyo con un include en todas las páginas para checkear la sesion o cookie
Código PHP:
<?php
session_start();
if ( isset ( $_SESSION['usuario'] ) ) {
$msj = 'Hola <b> '.$_SESSION['usuario'].$_COOKIE[nick]' </b> <a href="login/salir.php"><img src="imagenesweb/x.jpg"/></a>';
}else{
$msj = 'Hola <b>Invitado</b><DIV ALIGN=right><a href="login/index.php">Identificarse</a> | <a href="login/registro.php">Registrarse</DIV></a>';
}
echo $msj;
?>
Muchas gracias*
*(no me valen respuestas como, "mira el manual de php" etc etc... he intentado varias cosas y es por eso que posteo aquí)