Foros del Web » Programando para Internet » PHP »

Porque, varios intentos para logarme???

Estas en el tema de Porque, varios intentos para logarme??? en el foro de PHP en Foros del Web. Bueno, tengo un problema en la conexión al ir a logarme. Resulta, que en la pagina login.php solicito el usuario y password para acceder a ...
  #1 (permalink)  
Antiguo 01/01/2013, 15:58
 
Fecha de Ingreso: noviembre-2012
Mensajes: 11
Antigüedad: 7 años
Puntos: 0
Porque, varios intentos para logarme???

Bueno, tengo un problema en la conexión al ir a logarme. Resulta, que en la pagina login.php solicito el usuario y password para acceder a panel de control. Una vez metidos datos de usuario y password, le doy a validar y mando que realice esa validación en verificar.php y una vez pasado la validación me redireccione a paneldecontrol.php

En verificar.php paso la acción de validar con el siguiente código:

Código:
<?php include("BDatos.php");
$rst_socios=mysql_query("SELECT idusuario, nick, password, idlevel FROM socios WHERE nick='".$_POST["usuario"]."' AND password='".$_POST["password"]."'");
$num_registros=mysql_num_rows($rst_socios);
if($num_registros>0)
{
	$fila=mysql_fetch_array($rst_socios);
	setcookie('idusuario',$fila['idusuario']);
	session_start();
	$_SESSION['MM_Username']=$fila['nick'];
	$_SESSION['MM_IdUsuario']=$fila['idusuario'];
	header("location:panelcontrolsocio.php"); 
	}
	else
	header ("location:login.php");
?>
A veces, ingreso usuario y password, le doy a validar y entra a la primera…. A veces me tardo tres intentos. He de reseñaros que siempre que cierro sesión, si quiero entrar seguidamente, me hace intentarlo tres veces.

Cuando quiero que cierre sesión, le digo que vaya a salir_session.php, que tiene el siguiente código:

Código:
<?php
  session_start();
  session_destroy();
  setcookie("nick","",-3600);
  header("location:login.php"); 
?>

Alguien sabría indicarme si es problema de código o de que podría ser???
  #2 (permalink)  
Antiguo 01/01/2013, 19:57
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 8 meses
Puntos: 406
Respuesta: Porque, varios intentos para logarme???

Para comenzar no puedes definir una cookie antes de un session_start(), este debe estar antes de cualquier código que pueda modificar las cabeceras esto incluye obviamente a la generación de cookies manualmente, también es bueno que antes depures tu código para verificar que funciona correctamente usando mysql_error()...

Código PHP:
Ver original
  1. <?php
  2. include("BDatos.php");
  3. $rst_socios=mysql_query("SELECT idusuario, nick, password, idlevel FROM socios WHERE nick='".$_POST["usuario"]."' AND password='".$_POST["password"]."'") or die(mysql_error());
  4. $num_registros=mysql_num_rows($rst_socios);
  5. if($num_registros>0)
  6. {
  7.     $fila=mysql_fetch_array($rst_socios);
  8.     session_start();
  9.     $_SESSION['MM_Username']=$fila['nick'];
  10.     $_SESSION['MM_IdUsuario']=$fila['idusuario'];
  11.     setcookie('idusuario',$fila['idusuario']);
  12.     header("location:panelcontrolsocio.php");
  13.     }
  14.     else
  15.     header ("location:login.php");

Por ultimo, en validar.php generas un cookie con el nombre "idusuario", y cuando cierras la sesión "destruyes" una cookie con nombre "nick" que a menos la definas en algún otro sitio no existe...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 02/01/2013, 01:56
 
Fecha de Ingreso: noviembre-2012
Mensajes: 11
Antigüedad: 7 años
Puntos: 0
Respuesta: Porque, varios intentos para logarme???

Gracias, tienes razón tenia en salir session ese error. Por corregir el error y modifique lo de v, erificar como indicas, poniendo la cookie después de sesion star. Sigue sin funcionar correctamente.
También elimine lo de la cookie, dejando solo las dos variables session y nada...
He reportado el problema al distribuidor hosting, a ver si hay alguna incidencia.

Gracias,
  #4 (permalink)  
Antiguo 02/01/2013, 14:00
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 8 meses
Puntos: 406
Respuesta: Porque, varios intentos para logarme???

Deberías checar si no es problema de cache en tu navegador, borra la cache y las cookies de tu navegador y vuelve a intentarlo, si el sistema arroja algún mensaje de error publicalo
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 02/01/2013, 20:02
 
Fecha de Ingreso: noviembre-2012
Mensajes: 11
Antigüedad: 7 años
Puntos: 0
Respuesta: Porque, varios intentos para logarme???

La verdad que no doy con ello…. He realizado una depuración de error, dando el siguiente msj:

Cita:
PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/clubladaniva.es/httpdocs/Connections/verificar.php on line 3, referer: http://www.clubladaniva.es/Connections/login.php
siendo mi linea 3: ------- $num_registros=mysql_num_rows($rst_socios);

La verdad que sigo entrando a veces a la primera y a veces tres o cuatro veces….Lógicamente, si entro no registra error, así que solo caco error cuando no entra. ¿Por qué unas veces indica q es valido y otras no?
  #6 (permalink)  
Antiguo 02/01/2013, 20:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 7 meses
Puntos: 461
Respuesta: Porque, varios intentos para logarme???

tienes un error en tu consulta acostumbra a depurar los errores

Código PHP:
Ver original
  1. mysql_query("tu query") or die(mysql_error());

de maneras que sepas que error hay en la consulta, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 02/01/2013, 20:49
 
Fecha de Ingreso: noviembre-2012
Mensajes: 11
Antigüedad: 7 años
Puntos: 0
Respuesta: Porque, varios intentos para logarme???

Piensan que podría ser falta de la llamada (fila 2: mysql_select_db($database_BDatos, $BDatos). Antes no la había puesto y resulta que desde que la puse no da ningún error (de momento…jejeje).

Código:
<?php include("BDatos.php");
mysql_select_db($database_BDatos, $BDatos);
$rst_socios=mysql_query("SELECT idusuario, nick, password, idlevel FROM socios WHERE nick='".$_POST["usuario"]."' AND password='".$_POST["password"]."'");
$num_registros=mysql_num_rows($rst_socios);
if($num_registros>0)
{
	$fila=mysql_fetch_array($rst_socios);
	session_start();
	$_SESSION['MM_Username']=$fila['nick'];
	$_SESSION['MM_IdUsuario']=$fila['idusuario'];
	setcookie('idusuario',$fila['idusuario']);
	header("location:panelcontrolsocio.php"); 
	}
	else
	header ("location:login.php");
?>
He hecho la depuración de errores, tal como tenia el codigo anteriormente, añadiendo esto :

Cita:
mysql_query("tu query") or die(mysql_error());
Y como no me da fallo en este momento, no me da el error….

Gracias de nuevo
  #8 (permalink)  
Antiguo 02/01/2013, 21:04
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 7 meses
Puntos: 461
Respuesta: Porque, varios intentos para logarme???

el mysql_error en tu consulta no te da error?? y sigue el mismo warning??
Cita:
PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 06/01/2013, 16:16
 
Fecha de Ingreso: noviembre-2012
Mensajes: 11
Antigüedad: 7 años
Puntos: 0
Respuesta: Porque, varios intentos para logarme???

Cita:
Iniciado por carlos_belisario Ver Mensaje
el mysql_error en tu consulta no te da error?? y sigue el mismo warning??
A ver, cuando logro entrar no me da error, cuando no entro, me lo da…. Lo que nunca entenderé, es por que alguna ocasión me dejaba y otras no.
Aunque desde que puse mysql_select_db($database_BDatos, $BDatos, tal y como os comente en el anterior post, no he tenido problemas ni errores.

Gracias a todos por vuestra colaboración y disculpar no poder contestaros antes.

Etiquetas: intentos, sql, usuarios
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 01:23.