Foros del Web » Programando para Internet » PHP »

problemas

Estas en el tema de problemas en el foro de PHP en Foros del Web. Hola tengo un problema en mi web. Resulta ke tengo montado un sistema de usuarios. Y el problema es este: Me loguea perfectamente y mmientras ...
  #1 (permalink)  
Antiguo 18/06/2003, 07:41
 
Fecha de Ingreso: diciembre-2002
Mensajes: 52
Antigüedad: 21 años, 4 meses
Puntos: 0
problemas

Hola tengo un problema en mi web.
Resulta ke tengo montado un sistema de usuarios.
Y el problema es este:
Me loguea perfectamente y mmientras estas en la web me sigue apareciendo que estas logueado pero en cuanto cierro el navegador se me kita el login ke tenia activado.
No solo me pasa a mi a todos los que la visitan.

el codigo de login.php es este:
Código PHP:
<? 
global $REMOTE_ADDR;

include 
"conecta.php"
$a=mysql_query("SELECT login,pass FROM registrados WHERE login='"$_GET['login'] ."'",$conexion); 
$r=mysql_fetch_row($a); 
if ((
$_GET['login']==$r[0]) && ($_GET['pass']==$r[1])) { session_start(); 
session_register('login'); $_SESSION['login']=$_GET['login']; setcookie("login",$_GET['login'],time()+3600*24*365); 
session_register('pass'); $_SESSION['pass']=$_GET['pass']; setcookie("pass",$_GET['pass'],time()+3600*24*365); 

    
$pnip"UPDATE registrados SET ip='$REMOTE_ADDR ' WHERE login='{$_SESSION['login']}'";  
    
$err mysql_query($pnip) or die (mysql_error());
echo 
"<img src='imagenes/cargando.gif'><br>
<form method=\"post\" action=\"index.php\" name=\"formulario\"> 
<input type=hidden value=\"$_SESSION[login]\" name=\"login\"> 
<input type=hidden value=\"$_SESSION[pass]\" name=\"pass\"> 
</form><script language=\"JavaScript\"> document.all.formulario.submit(); </script>"

} else { 
header("Location:index.php"); 

?>
Utilizo como podeis ver sesiones.
__________________
Webmaster DE :

http://www.bf1942spain.com
  #2 (permalink)  
Antiguo 18/06/2003, 07:53
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Bien, ¿y como esta configurado tu servidor PHP para propagar y almacenar los ID de las sessiones? Si es por cookie, ¿que expiracion tiene configurado? Puede que solo esten "vivas" hasta que se cierre el navegador.

Lo que no entiendo que es lo que pretendes con los setcookies() que pones, ya que el usuario y el pass lo coges del GET. Si lo que quieres es hacer como en estos foros, tendrias que intentar leer de esas cookies si existen.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 18/06/2003, 08:00
 
Fecha de Ingreso: diciembre-2002
Mensajes: 52
Antigüedad: 21 años, 4 meses
Puntos: 0
yo tengo el cookie .php en cada pag.
Su code es este
Código PHP:
<? 
session_start
(); 

header("pragma: no-cache"); 
header("Cache-Control: no-cache"); 

if ((isset(
$_COOKIE['login'])) && (isset($_COOKIE['pass']))) { 
include 
"conecta.php"
$a=mysql_query("select login,pass from registrados where login='$_COOKIE[login]'",$conexion); 
$r=mysql_fetch_row($a); 
if ((
$r[0]==$_COOKIE['login']) && ($r[1]==$_COOKIE['pass'])) { 
session_register('login'); 
$_SESSION['login']=$_COOKIE['login']; 
setcookie("login",$_COOKIE['login'],time()+3600*24*365); 
session_register('pass'); 
$_SESSION['pass']=$_COOKIE['pass']; 
setcookie("pass",$_COOKIE['pass'],time()+3600*24*365); 


?>

Josemi entonces ke me dices ke tengo ke kambiar?
__________________
Webmaster DE :

http://www.bf1942spain.com
  #4 (permalink)  
Antiguo 18/06/2003, 08:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
¿Y cual es el codigo que decide si esta conectado o no? ¿Que compruebas, la sesion o la cookie? Si es la sesion, creo (no suelo trabajar con ellas) que para poder leer el valor que metes en ella debes cargar otra pagina. Es decir, creo que el valor que metes en el $_SESSION no esta accesible en la sesion hasta que se carga otra (o la misma) pagina. Pero como te digo, no estoy seguro de este punto, mejor que opine alguien que domine el tema de sesiones.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 18/06/2003, 09:02
 
Fecha de Ingreso: diciembre-2002
Mensajes: 52
Antigüedad: 21 años, 4 meses
Puntos: 0
es
$_SESSION['login']

y entonces como podria poner solo cookies?
__________________
Webmaster DE :

http://www.bf1942spain.com
  #6 (permalink)  
Antiguo 18/06/2003, 14:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Mira, yo lo que haria seria comprobar si existen las variables de la sesion. Si todavia no estan creadas, miraria si existen las cookies. Si existen, pondria tu codigo donde creas las variables de sesion y continuaria como si ya estaria logeado. luego al cargar la siguiente pagina cogeria los valores de la sesion. Si en esa misma pagina quieres usar los valores de la sesion, si al cargar la pagina no existian, seguiran sin existir hasta cargar otra vez. Asi lo que yo haria seria leer en unas variables los valores de la sesion o de la cookie, segun corresponda.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 18/06/2003, 17:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Así es josemi ..

1) Tu login .. mira si está creada la cookie .. si no no está . lanzas tu formulario de login.

2) creas tus variables de sesión con los datos del login de la cookie o de tus variables de formulario según corresponda si existen o no ..

3) en tu sistema continuas con el uso de sesiones (las cookies sólo para permitir el "recordar login otra para otra vez" ...

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 17:46.