Foros del Web » Programando para Internet » PHP »

Paso a paso: Recordar session son cookie

Estas en el tema de Paso a paso: Recordar session son cookie en el foro de PHP en Foros del Web. Buenas a todos una vez más. Hace tiempo que ando desarrollando un sistema de registro y logeo. Por el momento va por buen camino gracias ...
  #1 (permalink)  
Antiguo 15/11/2008, 05:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 180
Antigüedad: 15 años, 6 meses
Puntos: 1
Paso a paso: Recordar session son cookie

Buenas a todos una vez más. Hace tiempo que ando desarrollando un sistema de registro y logeo. Por el momento va por buen camino gracias a los ejemplos tomados de estos foros, aportes, ayudas de los más expertos, y bueno, prácticamente poco con lo que yo se. Ahora mismo tengo un sistema de registro y logeo que va a la prefección, toma datos de una bd, verifica etc etc... Hasta aquí mi alegría, porque me he topado con un nuevo problema;
recordar la session del usuario mediante una cookie.

Me gustaría que el que me ayudase, comprenda mi desconocimiento en el tema, y que tuviera paciencia y me fuese explicando los pasos post por post, verificando los códigos que he ido haciendo y corrigiendo los posibles errores.

De momento pongo el código que captura las variables de un form, verificandolas en una bd. A este le he añadido la creación de una cookie con estos datos. Posibles tutores, agradezco infinitamente vuestras correcciones:

Código PHP:
<?php
//comienzo la session como siempre
session_start();
//y este es mi primer intento de crear la Cookie que me recordará, más adelante, los datos de usuario. Esto es lo que me teneis que corregir si está mal. La duda que me surge es, si no se debería establecer la Cookie una vez hechas las comprobaciones en la base de datos y verificado que existe el usuario en la bd.
   
if (isset($_POST["$usuario"])) { 
      
$datos $_POST["$usuario"] . "|" $_POST["$contrasena"]; 
       
setcookie("usuariorecordar"$datostime()+32140800); 
   } 
$usuario $_POST['usuario'];
$_SESSION['usuario'] = $usuario
//conecto con mi base de datos  
$conn mysql_connect("localhost","*****","******");  
//selecciono mi BBDD  
mysql_select_db("mipropiabd",$conn);

//Sentencia SQL para buscar un usuario con esos datos en mi base de 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 son 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";  
    
header ("Location: http://www.miweb.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);  
?>
Bueno, hasta aquí de momento. Ya podeís poneros las manos en la cabeza con lo que acabado de hacer
  #2 (permalink)  
Antiguo 15/11/2008, 07:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Paso a paso: Recordar session son cookie

Una pequeña sugerencia que creo te resultará útil es: http://www.php.net/manual/es/functio...ape-string.php, fíjate en el ejemplo #2, habla de un caso aplicable a tu consulta (Inyección SQL).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.