Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/06/2008, 14:39
Avatar de Tombar
Tombar
 
Fecha de Ingreso: junio-2008
Ubicación: /home/tombar
Mensajes: 198
Antigüedad: 15 años, 11 meses
Puntos: 11
Respuesta: Problema con las Sesiones

Te dejo el codigo como yo lo haria, de todas formas respete tus variables y estructura.

Código PHP:
<? 
//siempre incluye tus archivos al comienzo a menos q tengas una razon valida :)
include "conexion.php";

//aqui lo que vamos a hacer es sanitizar los datos que te envian. para que no te hagan injecciones sql simples.
//mas adelante deberias poner una funcion que sanitize de veras :P
$usuario mysql_escape_string($_POST["usuario"]);

//aqui el unico cambio que haria seria que ademas encriptaria la clave usando md5. 
$contrasena mysql_escape_string($_POST["password"]);

//vamos a hacer la consulta a ver si el $usuario y $contrasena son correctos
$result=mysql_query("SELECT nombredeusario, contrasena FROM contrasenas where nombredeusuario = $usuario and contrasena = $contrasena ",$conn); 

//chequeamos si hubo resultados, si el resultado es correcto deberia haber 1 solo resultado
if (mysql_num_rows($result) == 1) {    
    
    
// en lo personal usaria true en ves de si
    
$valido="si";
    
    
//no precisamos hacer un while ya q es solo un resultado el que tienes
    
$row mysql_fetch_row($result);
    
    
//abres la session 
    
session_start(); 

    
$_SESSION['usuario'] = $row['nombredeusuario']; 
    
$_SESSION['password'] = $row['contrasena']; 

}else {
    
    
// en lo personal usaria false en ves de no
    
$valido="no";
    
}

include 
"cerrar_conexion.php"
?>
como te mencionaban antes hay un par de detalles impotantes.

1- es mejor el sql query que te pusieron antes y yo use
2- deberias guardar las passwords encriptadas y no planas
3- siempre debes sanitizar los datos antes de usarlos

Saludos y espero que te sea de utilidad el codigo