Foros del Web » Programando para Internet » PHP »

Login + sesiones

Estas en el tema de Login + sesiones en el foro de PHP en Foros del Web. Hola buenas a todos.Tengo un pequeño problemilla con el tema del login.Por más que miro páginas y páginas siempre me salen errores aver si ustedes ...
  #1 (permalink)  
Antiguo 24/05/2010, 16:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 39
Antigüedad: 13 años, 11 meses
Puntos: 0
Login + sesiones

Hola buenas a todos.Tengo un pequeño problemilla con el tema del login.Por más que miro páginas y páginas siempre me salen errores aver si ustedes me podeis orientar un poco.Lo que tengo idea es que tengo que tener un formulario claro esta donde tenga que poner nick y pass y un boton d enviar.Hasta ahí facil.Otra página para "validar" que la contraseña corresponde con el usuario con lo cual me tendría que redirigir a una tercera página donde tengo un pequeño panel de control y desde ahí pinchar en lo que quiero hacer.Os pongo un pequeño y simple esquema de que es lo que quiero hacer por si alguno no me llega a entender.

Login--->"Mensaje: usuario correcto, se va a redirigir en 5 segundos"--->Panel de control:Elija la opcion q quiera(enviar noticia o añadir eventos al calendario)".Y pinchando en una o otra que se me vaya a los distintos formularios.

Yo lo que tengo hasta ahora es esto:

login1.php:
Cita:
<html>
<body>
<form method="post" action="login2.php">

<fieldset>

<label for="user">Usuario:</label>

<input type="text" id="user" name="user"/>

<label for="pass">Clave:</label>

<input type="password" id="pass" name="pass" />

<input type="submit" name="button" id="button" value="Enviar" />

</fieldset>

</form>
</body>
</html>
login2.php(me da un warning)
Cita:
<?session_start();?>
<?php
//login.php
//Nos conectamos a la base de datos
include("conexion.php");

//Iniciamos la sesión donde guardaremos las variables

//Creamos variables locales con el contenido de las devueltas por el form
$user = $_POST['user'];
$pass = $_POST['pass'];
//Realizamos la consulta a la base de datos y controlamos que nos devuelva
//algun resultado
$consulta = mysql_query("select * from usuarios where nick='$user' and
password='$pass'");
if(mysql_num_rows($consulta) !=0) {
$_SESSION['user'] = $user; /*Declaramos una variable de sesión donde
guardaremos el nombre del usuario
para control*/
echo "Login correcto porra";
header("location: panel.php"); /* Nos vamos a la sección "privada"
de nuestra página*/
} else
echo "El usuario y/o clave no son correctas";
?>
panel.php(q no me funciona na d na):
Cita:
<?phpsession_start();?>
<?php
if(isset($_SESSION['user'])) { //controlamos que la variable este declarada

//vera un mensaje de bienvenida
echo "enviar noticia";
echo "añadir evento al calendario";
}
else
header("location: ingresar.html"); //Si el usuario no esta logeado, regresara al
//formulario de login
?>
Alguien que me pueda orientar graciass
  #2 (permalink)  
Antiguo 24/05/2010, 17:08
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Login + sesiones

cual es el warning que te sale?

y en vez de escribir asi <?session_start();?> escribe

Código PHP:
<?php
session_start
();
?>
__________________
Quitenme la vida pero no la bebida.
  #3 (permalink)  
Antiguo 24/05/2010, 17:10
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/México
Mensajes: 57
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Login + sesiones

si lo que quieres es redirigir tambien puedes intentarlo de esta forma

Código:
echo"<script language='JavaScript' type='text/javascript'>
			window.location='tuPagina.php'
			</script>";
saludos
  #4 (permalink)  
Antiguo 25/05/2010, 01:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 39
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Login + sesiones

En el login 2 me sale el siguiente warning. Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\pruebas\login2.php on line 18
  #5 (permalink)  
Antiguo 25/05/2010, 02:29
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: Login + sesiones

Buenas Unixtall:

Yo probaría esto..

Código PHP:
//Primero guardar tu consulta en 1 variable:
$consulta "select * from usuarios where nick='$user' and password='$pass'";

//Despues ejecutas la consulta:
$resultado mysql_query($consulta);

//Y despues comprueba si tienes datos:
$data mysql_fetch_array($resultado);
          = 
mysql_num_rows($resultado); 
Acostumbrate tambien a utilizar or die(mysql_error()); despues de mysql_query($consulta);

Creo que el error que te está dando se debe a que la función if esta esperando un dato de tipo resource pero no le está llegando.

Prueba colocando la sentencia "OR DIE" despues de todas tus consultas, será mas claro en los errores.

Otro problema puede estar dentro de tu consulta...
Consulta primero si existe el usuario y si existe saca todos sus datos y simplemente compara el PASS pasado por $_POST con el que obtuviste de tu consulta.

Suerte y ya nos contaras...

Etiquetas: login, sesiones
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 09:12.