Foros del Web » Programando para Internet » PHP »

Login y Sesiones

Estas en el tema de Login y Sesiones en el foro de PHP en Foros del Web. Hola nuevamente, tengo la siguiente duda, al introducir el login y password de un usuario, este lo busca en la bd MySql y lo encuentra, ...
  #1 (permalink)  
Antiguo 10/05/2003, 02:55
Avatar de pabloman  
Fecha de Ingreso: enero-2003
Ubicación: Temuko
Mensajes: 54
Antigüedad: 21 años, 3 meses
Puntos: 0
Sonrisa Login y Sesiones

Hola nuevamente, tengo la siguiente duda, al introducir el login y password de un usuario, este lo busca en la bd MySql y lo encuentra, pero el problemilla esta en que al encontrarlo necesito que me abra una sesion y se vaya a otro formulario, el codigo con el que estoy trabajando es este:

if ((empty($var_usu)) or (empty($var_con)))
{?>
<FORM ACTION= sesion.php method=post> <input type="text" name=var_usu value="<? echo $var_usu?>" size="20"><br>
<input type="password" name=var_con value="<? echo $var_con?>" size="15"><br>
<FORM ACTION = comp1.php method=post>
<input type="submit" name="Submit2" value=" Continuar ">
</FORM>
</FORM>
<? }
else{
$consulta="select login, password from usuarios where login='$var_usu' and password='$var_con'";
$respuesta=mysql_query($consulta,$conex);
$i=1;
//SI ENCUENTRA EL LOGIN Y EL PASS, DEBE ABRIR LA SESION Y ENVIARLO A OTRO FORMULARIO
//DE LO CONTRARIO DEBE CARGAR EL MISMO "SESION.PHP"
while ($fila=mysql_fetch_array($respuesta))
{
echo "okey lo pille!!!", "<br>";
$login = $fila["login"];
$pass = $fila["password"];
echo "usuario: ",$login,"<br>";
echo "password: ",$pass;
$i++;
} // cierra el while
}//cierra el else
?> <!--cierra el php -->

Me funciona bien, pero le falta abrir la sesion y enviarlo a otro formulario, me pueden ayudar en mi consulta???, se supone que despues de introducir un cliente su login y password este deberia quedar capacitado para comprar

Saludos...
__________________
Cuando creo aprender algo, mas me doy cuenta que nada se...
  #2 (permalink)  
Antiguo 10/05/2003, 05:36
Avatar de davidMS  
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
despues de que mandas el form, compruebas si el usuario y password son identicos,cierto?. Si lo son inicias session_start (); despues registras las variables con session_register ('nombredevariable'), aqui no tienes que poner ('$nombredevariable'),solo con el string, despues de registradas podes manejarlas durante todos los links siguientes sin tener que mandarlas por url (es como una cookie en realidad), aqui en este archivo lo que podes hacer tambien es que si es autorizado haces un metarefresh:(<meta http-equiv="refresh" content="2;URL=xxx.php"> despues del body de html, de esta manera no tenes que usar la funcion header, que te va a tirar un error pues al iniciar la session el header ya fue mandado.
Otra cosa tene cuidado con los includes, y ademas para que la sesion funcione es todos tus phps siguientes, tienen que tener session_start (); o bien configurando el php a session_autostart= On..
creo que eso es todo!
  #3 (permalink)  
Antiguo 10/05/2003, 12:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Mejor usa los arrays superglobales $_SESSION y $_GET o $_POST ..

El redireccionamiento si lo haces via:

header("location: pagina.tal");
exit;

Mejor ... y fijate como propagas el SID .. pues si no lo hace por una cookie deberas de propagar el SID en ese redireccionamiento como parte del URL ... (ya sea ese header() de location .. metarefresh o alternativas Javascript ..)

Revisa el foro en busca del tema session .. se ha hablado bastante del tema ... En las FAQ's tienes ejemplos tambien ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:31.