Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Muy buenas a todos; vereis me ha ocurrido un caso raro, resulta que tengo un script en php que funciona con sesiones, es decir pide ...
  #1 (permalink)  
Antiguo 10/03/2006, 06:27
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 13 años
Puntos: 0
Pregunta Problema con sesiones

Muy buenas a todos; vereis me ha ocurrido un caso raro, resulta que tengo un script en php que funciona con sesiones, es decir pide clave y nombre de usuario y abre sesion con unas variables ($_SESSION['algo']), en todas las siguientes páginas comienzo con session_star() y compruebo la autenticación etc, hasta aquí todo normal, pero resulta que en algunos ordenadores no funciona, es decir se borran las variables de sesion al pasar a otra página y curiosamente en dos ordenadores situados en el mismo sitio, es decir que tienen la misma conexión a internet, en uno funciona y en el otro no.
¿Alguien me podria decir porque puede ocurrir esto?,¿ habra alguna configuración de windows 2000 sp4 que impida el funcionamiento de las sesiones?, digo esto, poque se ha probado con IE6, Mozilla y Nestcape y con los tres ha pasado lo mismo, tanto en el ordenador que ha funcionado como en el que no.
Saludos y muchas gracias de antemano por vuestras respuestas.
  #2 (permalink)  
Antiguo 10/03/2006, 07:09
 
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Yo he pasado por lo mismo!:(
  #3 (permalink)  
Antiguo 10/03/2006, 08:58
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 13 años
Puntos: 0
Otra pista

Buenas de nuevo; una pista para ver si logramos dar con el duende misterioso, esta es: He modificado el script para que salte un error, es decir, le he puesto una salida por pantalla antes de un header y lo normal es que salte un Warning, ¡ Pues no! se lo pasa por la piedra, hace el "echo" y continua la ejecución y ademas sale por un header("location:algo.php"). Si se os ocurre alguna prueba más para ver donde reside el problema no dudeis en decirmela.

Saludos y reitero las gracias
  #4 (permalink)  
Antiguo 10/03/2006, 09:17
okram
Invitado
 
Mensajes: n/a
Puntos:
postea tu codigo tal y como lo tienes en tus paginas para poder visualizar mejor el problema
  #5 (permalink)  
Antiguo 10/03/2006, 09:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 13 años
Puntos: 0
De acuerdo Posteando código

Esta página recoje los valores insertados en el formulario de la página anterior

<?php
require '/home/misitio/inicial.php';//esto contiene las variables que se usan después $user $passw $redir etc...
if (isset($_POST['usuario']) && isset($_POST['claveu'])):
$usu=$_POST['usuario'];
if (!ereg("^[^@ ][a-z.][email protected][^@ ][a-z]+.[^@ .][com]+$",$usu)){
header("location:$redir?error_login=4");exit();}
$cla=md5($_POST['claveu']);
$dbh=mysql_connect ("localhost", $user, $passw) or die (header ("Location: $redir?error_login=0"));
$salida=mysql_db_query ($based,"SELECT * FROM $Tabla WHERE $campa='$usu' AND $campe='$cla'")or die(header ("Location: $redir?error_login=1"));
unset($usu);
unset($cla);
if (mysql_numrows($salida)!=0):
$fila=mysql_fetch_array($salida);
mysql_free_result($salida);
session_start();
$_SESSION['autentificado']=$useporque;
$_SESSION['usuer']=$fila["nombre"];
$_SESSION['univel']=$fila["nivel"];
$_SESSION['nivpag']=$lugar;
header("location:$sipasa");
else:
header("location:$redir?error_login=2");
endif;
else:
session_start();
if (!isset($_SESSION['usuer']) && !isset($_SESSION['univel'])):
session_destroy();
header("location:$redir?error_login=3");
endif;
endif;

las siguientes páginas comienzan todas con:

<?php
require 'seguridad.php';
?>

y el fichero seguridad contiene:

<?php
session_start();
require '/home/misitio/segurini.php';

//Para hacer pruebas aqui puse:
echo "Valor ".$_SESSION['nivpag'];
//lo que daria lugar a un warning posterior si todo funciona bien, pero en el caso que comento solo sale por pantalla Valor, lo que me indica que $_SESSION esta vacia o no existe

if ($_SESSION['nivpag'] == $entro){
if ($_SESSION['autentificado'] != $unavar){
header("Location: $redir?error_login=9");
exit();
}else{
$_SESSION['autentificado']=$purcua;
}
}else{
if ($_SESSION['autentificado'] != $purcua) {
header("Location: $redir?error_login=6"); // y por aquí es donde se sale, tenga o no tenga el
exit();
}

}
echo '<p><font size=1 face="Verdana">Acceso Autorizado a: <b>'.$_SESSION['usuer'].'</b></font></p>';
?
  #6 (permalink)  
Antiguo 10/03/2006, 12:04
okram
Invitado
 
Mensajes: n/a
Puntos:
Hola

Código PHP:
$_SESSION['nivpag']=$lugar
en algun sitio declaras la variable lugar?

ademas, porque no usas mejor mysql_query en vez de mysql_db_query?
http://www.php.net/manual/es/functio...l-db-query.php

no c me ocurre que otra cosa pueda ser.....

tratare de revisar tu codigo para ver que puede estar mal
  #7 (permalink)  
Antiguo 10/03/2006, 12:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 13 años
Puntos: 0
Buenas: si la $lugar esta definida como todas las demas en require '/home/sintra/inicial.php';

Cierto esa función esta obsoleta ya la tengo cambiada, gracias.

Un saludo
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:55.