Login y Sesiones

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 sesión y se vaya a otro formulario, el código con el que estoy trabajamdo 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 sesión y enviarlo a otro formulario, ¿me puedes ayudar en mi consulta?

3 Respuestas

Respuesta
1
Basicamente el código que tienes esta bien pero hay un par de cosillas que te recomendaria cambiar. Recoge $var_usu y $var_con en $_POST['var_usu'] y $_POST['var_con'] ya que es más seguro. Y en segundo lugar antes de:
$consulta="select login, password from usuarios where login='$_POST["var_usu"] and password='$_POST["var_con"]'";
Comprueba que esas variables no tengan ni comillas ni nada similar.
Y para el tema de las sesiones al principio de todas las páginas session_start() y en vez de recoger el login en $login recogerlo en $_SESSION['login'] y ya tienes una variable de sesión declarada para usar en todas las páginas y si compruebas si $_SESSION['login'] esta declarado o no sabrás cuando tienes que poner el form para hacer el login.
Creo que me he liado un poco pero espero haberte ayudado :)
Respuesta
1
$consulta="select login, password from usuarios where login='$var_usu' and password='$var_con'";
$respuesta=mysql_query($consulta,$conex);
while ($fila=mysql_fetch_array($respuesta))
{
echo "okey lo pille!!!", "<br>";
$login = $fila["login"];
$pass = $fila["password"];
$i++;
session_start();
session_register("login","pass");
header("location: formulario.php");
}
Te comento las 3 lineas que he introcucido.
Session_start() -> inicia la sesión
Session_register("nombre de variable") -> guarda en la sesión dicha variable, así como su valor
header("loaction: url.php") -> redirige la página a url.php
Estas instrucciones tienen la peculiaridad que no se puede imprimir nada por pantalla antes de ellas, p. ej., si pones un echo "hola"; antes de cualquiera de estas instrucciones te dará un error.
Otra cosa más, debes añadir la instrucción session_start() en todas las páginas que quieras que usen sesión.
Respuesta
1
para ocupar funciones debes utilizar las funciones session_start(); y session_register(var);
Abres la sesión con el session_start(); y luego registras cuales van a ser tus variables de session como
página (1)
session_start();
session_register("login");
session_register("passs");
Así en cualquier página después que quieras acceder a estas valiables de sesión primero debes hacer un
página (2)
session_start();
y luego ocuparlas como una variable mas
ej: echo $login;
Ojo session_start(); deba ir antes de cualquier encabezado o include que tengas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas