Foros del Web » Programando para Internet » PHP »

no puedo recuperar los valores de sesion

Estas en el tema de no puedo recuperar los valores de sesion en el foro de PHP en Foros del Web. Saludos Gente del foro. Soy un tanto novato en esto de php. Estoy tratando de recuperar los valores de una sesión creada en una página ...
  #1 (permalink)  
Antiguo 13/06/2012, 21:29
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años
Puntos: 0
no puedo recuperar los valores de sesion

Saludos Gente del foro.

Soy un tanto novato en esto de php. Estoy tratando de recuperar los valores de una sesión creada en una página en otra página. pero no puedo, es como si no existiesen, aquí un código resumiendo lo que hago:

pagina1.php
Código PHP:

<?php 
@session_start();
$_SESSION["pais"] = "Estados unidos";
$_SESSION["estado"] = "Florida";
$_SESSION["ciudad"] = "TBay";
$_SESSION["condado"] = "Baker";

//Mostrar los datos contenidos en el array $_SESSION (esto como prueba de los valores que actualmente existen en la sesion)
    
foreach($_SESSION as $indice => $valor)
        {
        echo 
"$indice: $valor <br>";
        }

echo 
"VEamos lo que hay en la sesion: "."<br>";
print_r($_SESSION);
echo 
"<br>";



echo 
"<a href=\"pagina2.php?$id_sesion\">Pasar variables</a>" ;
Al ejecutar el código tengo lo siguiente:

pais: Estados unidos
estado: Florida
ciudad: TBay
condado: Baker

VEamos lo que hay en la sesion:
Array ( [pais] => Estados unidos [estado] => Florida [ciudad] => TBay [condado] => Baker )

Pasar variables

------------------------------------------------------------------
Como ven al ejecutar la pagina1.php puedo recuperar los valores, pero...



pagina2.php:
Código PHP:

<?php 
@session_start();

echo 
"Pais: "$_SESSION["pais"]."<br>";

//Mostrar los datos contenidos en el array $_SESSION (esto como prueba de los valores que actualmente existen en la sesion)
    
echo "Los siguientes son los valores de sesion"."<br>";

    foreach(
$_SESSION as $indice => $valor)
        {
        echo 
"$indice: $valor <br>";
        }

?>

y si ejecuto el link de la pagina1 que va a la pagina2.php:
tengo:

Pais:
Los siguientes son los valores de sesion
------------------------------------------------------------------------------------------


Como ven los valores quedan en blanco y no recibo nada en la pagina2, además si no pongo el signo @ antes de session_start(); me da advertencias:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\08_Sesiones\X_prueba1.php:10) in C:\wamp\www\08_Sesiones\X_prueba1.php on line 11

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\08_Sesiones\X_prueba1.php:10) in C:\wamp\www\08_Sesiones\X_prueba1.php on line 11



EStoy usando wampServer, talvez debo configurar algo en el archivo php.ini???

Alguien que por favor me ayude
gracias.
  #2 (permalink)  
Antiguo 13/06/2012, 22:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no puedo recuperar los valores de sesion

Es un de los errores más comunes, te invito a buscar en el foro temas similares, procura hacerlo siempre antes de abrir un tema nuevo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/06/2012, 23:48
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 12 años, 6 meses
Puntos: 48
Respuesta: no puedo recuperar los valores de sesion

Lo que pasa es que envias una cabecera despues de decirle al navegador que imprima algo.
Las cabeceras se envian al comienzo.

Fijate que no tengas ningun echo antes de tu session_start() y ademas fijate que no tengas ningun espacio en blanco o salto de linea y menos codigo html.

EJEMPLO de un error de ese tipo:


<?php
@session_start();
?>

(el error se produce porque tengo espacios en blanco y salto de linea antes del <?php...)
  #4 (permalink)  
Antiguo 14/06/2012, 00:42
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: no puedo recuperar los valores de sesion

Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\08_Sesiones\X_prueba1.php:10)

Como el mismo error dice, hay una salida. Revisa la línea 10 del script x_prueba1.php

Un saludo.
  #5 (permalink)  
Antiguo 14/06/2012, 09:42
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años
Puntos: 0
Respuesta: no puedo recuperar los valores de sesion

Gracias por sus respuestas

Y muchas gracias Rodrhigo, tenias razón... todo era por enviar lineas de texto antes de: session_start().

Me rompía la cabeza y no sabía por que, pero era eso. Es que estoy usando dreamweaver, y cuando se crean nuevos archivos, así sean php se generan unas lineas de código al principio de la página.

Pero una pregunta: si algún momento necesite enviar datos de sesion a una página web, en la cual de manera obligada habrán datos al inicio de la página, ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
......
....

<?php
@session_start(); -------------------------> me generará problemas

Si alguien sabe gracias.
  #6 (permalink)  
Antiguo 14/06/2012, 10:21
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: no puedo recuperar los valores de sesion

Cita:
Pero una pregunta: si algún momento necesite enviar datos de sesion a una página web, en la cual de manera obligada habrán datos al inicio de la página, ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
......
....

<?php
@session_start(); -------------------------> me generará problemas
pones session_start(); y DESPUES todo el html que quieras
  #7 (permalink)  
Antiguo 14/06/2012, 10:34
 
Fecha de Ingreso: abril-2008
Mensajes: 112
Antigüedad: 16 años
Puntos: 0
Respuesta: no puedo recuperar los valores de sesion

Gracias por tu ayuda

Etiquetas: variables
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 05:32.