Foros del Web » Programando para Internet » PHP »

problema con el uso de sesiones

Estas en el tema de problema con el uso de sesiones en el foro de PHP en Foros del Web. hola, tengo un panel de control al que se accede con un user y un pass y utilizo sesiones, pero la primera vez que se ...
  #1 (permalink)  
Antiguo 11/09/2004, 01:26
 
Fecha de Ingreso: diciembre-2003
Mensajes: 32
Antigüedad: 20 años, 4 meses
Puntos: 0
problema con el uso de sesiones

hola, tengo un panel de control al que se accede con un user y un pass y utilizo sesiones, pero la primera vez que se entra no las coge, en cambio al segundo intento siempre va bien, alguien me sabe decir porque? el codigo es este:


usuarios.php
Código PHP:
//compruebo en la base de datos que el usuario es valido
if (mysql_num_rows($resp)==0) {
           echo
'<script language="JavaScript">
             if (alert("Usuario o contraseña incorrectos.\nIndroduzcalo ahora.\n\nGracias.")) 
               {cancel();}
               </script>'
;
      } else {
        
session_start();
        
$usuario $name;
        
$codvilla $user;
        
session_register('usuario');
        
session_register('codvilla');
        
$cURL "panel/index.php";
        die (
"<script language='JavaScript'>
            location.href=\"$cURL\";
            </script>"
);
      } 
panel.php
Código PHP:
//cogo las variables de la sesion
session_start();
$codi $codvilla;
$user $usuario
  #2 (permalink)  
Antiguo 12/09/2004, 09:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
NO deberías usar:

session_register() (si usas PHP 4.1.0 en adelante) .. usa los arrays superglobales: $_SESSION.

El redireccionamiento que haces es vía javascript .. PHP (y su configuración de sesiones) si usas session.use_trans_sid = ON .. NO va a reescribir tus URL de redireccionamiento para añadir el SID (Identificador único de sesión) que es necesario para que se propague dicho SID y tu sesión continue para que puedas acceder a tus valores de tus variables de sesión que en algún script registras en otros.

Así que estás "confiando" en que usas propagación del SID en cookies: session.use_cookies = ON (de tu php.ini que puedes ver también por un phpinfo() ..) y que dispones de un navegador que acepta cookies. (deberías revisar tu configuración de PHP para saber como vas a propagar el SID o forzarlo a lo que tu quieras .. pero debes saber que "existe" el concepto del "SID").

Te recomiendo encarecidamente que no uses session_register() y que redirecciones NO vía javascript para esos casos de autentificación de tu usuario: usa -> header ("Location: pagina.tal") (esto no evitará el problema que tienes actualmente con las sesiones y te dará otro problema si no tienes estructurado tu "Salida" (HTML/etc) de tu página correctamente para evitar dar salida antes de esa función).

En las FAQ's de este foro tienes ejemplos. De todas formas .. revisa en la documentación oficial de PHP sobre sesiones el concepto del SID y como se propaga este:

www.php.net/session
www.php.net/header

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 01:00.