Foros del Web » Programando para Internet » PHP »

Ayuda Con Sesiones

Estas en el tema de Ayuda Con Sesiones en el foro de PHP en Foros del Web. tengo un problema con unas sesiones La pagina index de mi sitio web se carga a traves de varios includes que hay en ella. Esta ...
  #1 (permalink)  
Antiguo 19/10/2003, 16:47
 
Fecha de Ingreso: septiembre-2003
Mensajes: 21
Antigüedad: 20 años, 6 meses
Puntos: 0
Ayuda Con Sesiones

tengo un problema con unas sesiones
La pagina index de mi sitio web se carga a traves de varios includes que hay en ella. Esta los llama y va cargando las distintas partes de la pagina. Ahora bien, intento hacer una sesion pero no consigo que los valores pasen.
No se si el problema está generado por los includes que tengo en la pagina index.El codigo de esta pagina es el siguente.

<html>
<head>
<title>Mi tutulotitle>

<?include("scriptmenuhead.php");?>
</head>
<body>

<?include("cuerpo.php");?>


<?//include para poner el frame izquierdo?>
<?include("primera.php");?>

<?include("fincuerpo.php");?>
</body>
</html>

¿que puede estar pasando con las sesiones?, no consigo recoger los valores y lo que no se seguro es si con los includes puedo iniciar las sesiones. He probado en todos los ficheros, tanto en el index, como en el resto de los ficheros a los que llamo con include. ¿por que puede ser?
  #2 (permalink)  
Antiguo 19/10/2003, 17:15
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
el Head de las sesiones tienen que estar antes de la sentencia HTML, porque sinó, no dan efecto.
  #3 (permalink)  
Antiguo 19/10/2003, 20:18
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
tal como dice lado2mx para llamar o crear una variable de session debe haber la funcion session_start(); antes de ninguna salida en las cabeceras http, en esto se incluyen espacios , asi pues debes poner el session_start(), antes de nada,

Lo que puedes hacer es mas o mnos asi:
Código PHP:
<?
session_start
();
?>
<html>
<head>
<title>Mi tutulotitle>

<?include("scriptmenuhead.php");?>
</head>
<body>

etc.....
y quitas (si los tienes ) los "session_start()" que tengas en los includes

espero que te sirva
  #4 (permalink)  
Antiguo 19/10/2003, 20:25
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 8 meses
Puntos: 2
Exacto... para trabajar con sesiones debes tener el session_start() en todas tus páginas para que puedas pasar las variables de una a otra.

session_start() crea una sesión nueva en caso de que no exista, de lo contrario sigue manejando la sesión existente; pero siempre debes llamar a la función session_start() antes que nada.

Recuerda luego llamar tus variables de sesión de manera segura con los arrays superglobales $_SESSION[variable].

Best regards !
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #5 (permalink)  
Antiguo 20/10/2003, 10:36
 
Fecha de Ingreso: septiembre-2003
Mensajes: 21
Antigüedad: 20 años, 6 meses
Puntos: 0
Una ultima cuestion al respecto, todo lo anterior me quedó claro y lo probaré en un momento, pero...¿tengo que poner el session_start(); para cada sesión que cree, ya que tengo pensado crear almenos dos sesiones.
Muchas gracias por todo
Saludos
  #6 (permalink)  
Antiguo 20/10/2003, 10:56
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Solo un session_start() en la ubicacion que ya te comentaron para crear todas las sesiones que quieras.
  #7 (permalink)  
Antiguo 20/10/2003, 16:17
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 8 meses
Puntos: 2
¿Dos sesiones por usuario?...

Hasta donde yo se eso no se puede hacer... ¿O si?

Saludos.
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #8 (permalink)  
Antiguo 20/10/2003, 16:24
 
Fecha de Ingreso: septiembre-2003
Mensajes: 21
Antigüedad: 20 años, 6 meses
Puntos: 0
No.
Mi intención es crear una sesión para el usuario y otra para el contador de visitas, de tal manéra que cuando se recargue la pagina no sume 1 en el contador.
saludos
  #9 (permalink)  
Antiguo 20/10/2003, 18:18
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
no entiendo muy bien que quieres hacer , pero por lo que intuyo sera crear dos variables de session, si es esto pues las creas con nombres diferentes

session_start()
$_SESSION['variable1']=$user;
$_SESSION['variable2']=$contador;

etc...

lo unico que si tiennes de propagar la sesion por varias paginas los cokies del usuario deben estar acivos, o bien propagarla por el URL o crear un id de sesion antes de nada, pero esto es ver

un saludo
  #10 (permalink)  
Antiguo 20/10/2003, 21:09
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Cita:
Mensaje Original por drcyber
¿Dos sesiones por usuario?...

Hasta donde yo se eso no se puede hacer... ¿O si?

Saludos.
Me referia, aunque expresandome mal, a lo comentado por Jordi1. Quise decir que una vez abierta la sesion, podian definirse tantas variables como se quisiera.
  #11 (permalink)  
Antiguo 21/10/2003, 06:43
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 .. hay que ver a la "sessión" como un "contenedor" de variables; que las creas y las borras o bien borras la sesión entera cuando lo requieras, y que tienen validez sólo para el usuario (cliente mejor dicho) que las crea (que inicia el uso de sesiones con session_start() y que apartir de ese momento .. si se propaga el SID en las siguientes páginas/scripts que use en esa "sesión" .. se tomará el mismo ID de sesión y por ende usará el mismo "contenedor" que creó en un principio hasta que "mates" la sesión (destruyas con session_destroy() o se aplique el tiempo de expiración asignado)

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 09:09.