Foros del Web » Programando para Internet » PHP »

Pérdida de variables de sesión

Estas en el tema de Pérdida de variables de sesión en el foro de PHP en Foros del Web. Cuando entro al sistema de administración mío, creo dos variables de sesión de esta forma: Código PHP:   require( "functions.php" );   server ();   ...
  #1 (permalink)  
Antiguo 23/04/2004, 20:34
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Pérdida de variables de sesión

Cuando entro al sistema de administración mío, creo dos variables de sesión de esta forma:
Código PHP:
 require("functions.php");
 
server();
 
session_start();
 
checaadminsess();
 
nocache();
 
$_SESSION['sessionid']=$_GET['ses'];
 
$_SESSION['usertype']=$_GET['tipo']; 
ahora tengo una pequeña función para redireccionar luego de realizado algún evento:
Código PHP:
 function redirect($titulo,$time,$url,$texto){
 echo 
"<html><head><title>".$titulo."</title><meta http-equiv='Refresh' Content='".$time." ;url=".$url."'>
       </head><script language=JavaScript src=includes/mx.js></script>
       <link href=includes/mx.css rel=stylesheet type=text/css>
       <body bgcolor='#a2aace' topmargin='3'>
       <table width='300' border='0' align='center' cellpadding='0' cellspacing='0'>
       <tr>
       <td><div align='center'><img src='img/marxismologofull.gif' alt='Departamento de Marxismo' width='174' height='82'></div></td>
       </tr>
       <tr>
       <td class='txtcn'>"
.$texto."</td>
       </tr>
       <tr>
       <td><div align='right'><img src='img/mxportal.gif' alt='MX Portal System' width='36' height='32'></div></td>
       </tr>
       </table>
       </body></html>"
;

donde se me pierden las variables es solo en este código:
Código PHP:
$dir "img/newsimg/";
  if(!
is_dir($dir)){
   
$dir mkdir($dir,0777);
  }else{
      
move_uploaded_file($_FILES['imagen']['tmp_name'],$dir);
  }
  
$ipuser $REMOTE_ADDR;
  
$query "INSERT INTO noticias(idcategoria,titulo,resumen,ampliacion,img,alt,autor,emailautor,referencia,fechainsert,ipuser,importancia,publico) VALUES('".$_POST['categoria']."','".$_POST['titulo']."','".$_POST['resumen']."','".$_POST['ampliacion']."','".$filename."','".$_POST['alt']."','".$_POST['autor']."','".$_POST['correo']."','".$_POST['referencia']."',NOW(),'".$_POST['importancia']."','".$ipuser."','".$_POST['publico']."')";
  
$result mysql_query($query) or die("No se ha podido ejecutar la consulta. MySQL ha dicho: ".mysql_error()."");
  if(
$result){
   
logs("log","a",$query);
   
redirect("Administración de noticias","2","noticiasadmin.php?action=admin&type=".$_SESSION['usertype']."&ses=".$_SESSION['sessionid']."","La noticia ".$_POST['titulo']." ha sido adicionada");
  }else{
   
logs("err","a",$query);
   
redirect("Administración de noticias","2","noticiasadmin.php?action=admin&type=".$_SESSION['usertype']."&ses=".$_SESSION['sessionid']."","La noticia ".$_POST['titulo']." no ha sido adicionada");
  } 
tengo otros semejantes, por ejemplo:
Código PHP:
$query "DELETE FROM directorio WHERE idsitio='".$_POST['idsitioelimina']."'";
  
$result mysql_query($query) or die("No se ha podido ejecutar la consulta. MySQL ha dicho: ".mysql_error()."");
  if(
$result){
   
logs("log","a",$query);
   
redirect("Administración de sitios","2","sitiosadmin.php?action=admin&type=".$_SESSION['usertype']."&ses=".$_SESSION['sessionid']."","El sitio ".$_POST['titulo']." ha sido eliminado");
  }else{
   
logs("err","a",$query);
   
redirect("Administración de sitios","2","sitiosadmin.php?action=admin&type=".$_SESSION['usertype']."&ses=".$_SESSION['sessionid']."","El sitio ".$_POST['titulo']." no ha sido eliminado");
  } 
y aqui no se pierden. De verás que no me imagino que está pasando.

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 23/04/2004, 20:47
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
usas session_start() en todas las paginas?
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 23/04/2004, 20:57
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Sip

Al inicio de todas las páginas inicio sesión. Además
Código PHP:
session_start();
checaadminsess(); 
esta función checaadminsess() es esta:
Código PHP:
function checaadminsess(){
 if(!isset(
$_SESSION['adminlogin']) && !isset($_SESSION['adminpasswd'])){
  
redirect("No autorizado","3","administrador.php?accion=entrar","No está autorizado a entrar en esta página");
  exit();
 }

que se encarga de comprobar siempre si la sesion está iniciada.
Salu2
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 23/04/2004, 21:29
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
sólo se me ocurre que verifiques si las variables lleguen desde el formulario en este codigo:

$_SESSION['sessionid']=$_GET['ses'];
$_SESSION['usertype']=$_GET['tipo'];

asi:

if(isset($_GET['ses'])
{
$_SESSION['sessionid']=$_GET['ses'];
exit();
}
if(isset($_GETS['tipo']))
{
$_SESSION['usertype']=$_GET['tipo'];
exit();
}
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
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 03:40.