Foros del Web » Programando para Internet » PHP »

$SESSION no se crea globalmente

Estas en el tema de $SESSION no se crea globalmente en el foro de PHP en Foros del Web. Hola gente. Necesito ayuda antes de pegarme un tiro. jeje. Cree tres paginas: prueba.htm Donde me pide ususario y contraseña. //------------------------------------------- login.php // si esta ...
  #1 (permalink)  
Antiguo 12/01/2005, 05:21
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 14 años
Puntos: 4
$SESSION no se crea globalmente

Hola gente. Necesito ayuda antes de pegarme un tiro. jeje.

Cree tres paginas:

prueba.htm

Donde me pide ususario y contraseña.

//-------------------------------------------
login.php // si esta bien redirige a entrar.php y sino vuelve a prueba.htm

<?
$sUser = $_POST["USER"];
$sPass = $_POST["PASS"];

if($sUser == "micayael" && $sPass == "pass")
{
$_SESSION["USUARIOLOGUEADO"] = true;
Header("Location: entrar.php");
}else{
Header("Location: prueba.htm");
}
?>
// hasta aqui todo funciona

//-------------------------------------------
entrar.php

<?
if(!isset($_SESSION["USUARIOLOGUEADO"])){
Header("Location: prueba.htm");
}

echo "ingrese";
?>

Aqui es el problema. Siempre me lleva de vuelta a prueba.htm. No toma como seteada la sesion nuuunccaaaa.

Puede ser que algo este mal en mi php.ini???
  #2 (permalink)  
Antiguo 12/01/2005, 05:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Prueba poniendo un session_start() al comienzo de todos los scripts.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 25/08/2005, 11:50
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Tengo el mismo problema y los session_start() en todos lados.
Esta es la configuracion en php.ini:
PHP Version 4.3.11 (sobre IIS)
allow_call_time_pass_reference : off
register_globals : off

No se si importe algun otro parametro para este problema.

Alguien podria indicarnos alguna ayuda ???
Gracias.
__________________
XTeo
  #4 (permalink)  
Antiguo 25/08/2005, 12:20
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
Tode depende de la versión de php q tengas y el fichero de configuración...

ya q si no te pasa el SID de sesión automáticamente se lo tendras q pasar tu manualmente...

de este modo...

Código PHP:
"entrar.php?PHPSESSID=".session_id(); 
antiguamente habia el transid para agregar esete trozo de codigo en cada enlace pero con las ultimas versiones de php no hace flata usar session.use_trans_sid

Salu2.
  #5 (permalink)  
Antiguo 28/08/2005, 15:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cuando hablan de "que la sesión se pasa automáticamente" .. en realidad lo que debemos conocer es que PHP y el uso de sesiones puede propaga el SID de dos formas:

1) Por el URL
2) Por cookies

y dentro de estas dos grandes formas de propagar el SID .. hay que conocer que:

session.use_trans_sid a ON .. propagará el SID re-escribiendo ciertos tag's HTML para incrustrar en el el SID .. com por ejemplo en un link HTML (<a href= ...>) y algunos más. No lo hace automáticamente con redireccionamientos o recargas de página vía javascrip ni por cabeceras .. tampoco por un header() de tipo "Location: ....".

Si queremos propaga el SID en cookies (que creará PHP ..) podemos usar:
session.use_cookies o mejor todavía session.use_only_cookies a ON. En ese caso .. no se van a sobre-escribir ningún tag HTML para incrustrar el SID .. sino que ese SID va a viajar en la cookie que PHP va a crear en el cliente (navegador/PC usuario) .. (y sólo el SID .. no los -datos-), por ende en este modo, el cliente (navegador) ha de aceptar cookies. De esta forma .. sólo debemos preocuparnos que se acepte dicha cookie .. en el código no hay que hacer mención para nada a SID.

A todo esto .. para que PHP use y continue el uso de una sesión iniciada .. se ha de indicar expresamente en todo script vía:

session_Start() antes de cualquier acceso a $_SESSION ya sea para crear una variable en ella u obtener un valor de alguna.

Un saludo,
  #6 (permalink)  
Antiguo 29/08/2005, 11:26
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Session

- hay alguna forma de hacerlo automatico por header() ??, depende de algun otro parametro del php.ini ??
- si el usuario tiene las cokies desactivadas y el trans_sid en OFF, no hay traslado de session ???

salu2
__________________
XTeo
  #7 (permalink)  
Antiguo 29/08/2005, 14:07
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
session

cita : session.use_trans_sid a ON .. propagará el SID re-escribiendo ciertos tag's HTML para incrustrar en el el SID .. com por ejemplo en un link HTML (<a href= ...>) y algunos más. No lo hace automáticamente con redireccionamientos o recargas de página vía javascrip ni por cabeceras .. tampoco por un header() de tipo "Location: ....".

Tengo entendido que para trasladara sesion necesito basicamente de 2 cosas :
- php compilado con trans-id
- session.use_trans_sid (php.ini)

Pero yo tengo el php sobre IIS,....no se si php esta con trans-id habilitado, al parece no, dado que todavia no logro que funcione.

Como hago para saber si esta habilitado en IIS ???
__________________
XTeo
  #8 (permalink)  
Antiguo 29/08/2005, 15:04
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
Utiliza este script si es q te funciona php...

Código PHP:
<?

phpinfo
();

?>
Salu2.
  #9 (permalink)  
Antiguo 30/08/2005, 08:16
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Cita:
Iniciado por lotusxxl
Utiliza este script si es q te funciona php...

Código PHP:
<?

phpinfo
();

?>
Salu2.
No aparece el trans-id, por eso consulte ????
__________________
XTeo
  #10 (permalink)  
Antiguo 30/08/2005, 08:20
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
Sobre IIS solo necesitas activar el transid en el php.ini

Salu2.
  #11 (permalink)  
Antiguo 30/08/2005, 09:26
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
asi esta , pero no funciona, sera algo mas en el php.ini ???
__________________
XTeo
  #12 (permalink)  
Antiguo 30/08/2005, 14:39
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 6 meses
Puntos: 1
Pues q yo sepa no...

supongo q no tienes activado esto no?

session.use_cookies

aunque diria q si esta activado usa los dos metodos pero por si acaso si queires transid desactivalo...

por cierto le has dicho en el php.ini la ruta de la carpeta donde se guardan las sessiones? y le has dado permisos de escritura?

Salu2.
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 19:13.