Foros del Web » Programando para Internet » PHP »

fallo en sesiones php

Estas en el tema de fallo en sesiones php en el foro de PHP en Foros del Web. Tengo un problema y soy nuevo en php, ojala me puedan ayudar. Cuando se entra al sitio se elige un pais y se llega a ...
  #1 (permalink)  
Antiguo 14/02/2013, 22:37
Avatar de camilo1986  
Fecha de Ingreso: febrero-2013
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
fallo en sesiones php

Tengo un problema y soy nuevo en php, ojala me puedan ayudar.
Cuando se entra al sitio se elige un pais y se llega a una Url como esta:

http://mipagina.com/home.php?id_pais=colombia

luego pongo este codigo en el home.

<?php session_start();
$idpais=$_GET[id_pais];
$_SESSION['paisglobal'] = $idpais;
?>

Aca funciona bien y puedo usar la variable $_SESSION['paisglobal']

luego al ir a otra pagina, digamos contacto.php uso este codigo

<?php session_start();
$pais = $_SESSION['paisglobal'];
if($pais==""){header('Location: /home.php');}
?>

uso un If para validar si la variable $_SESSION['paisglobal'] esta bien, y muchas veces se devuelve al home.php , otras funciona bien.
Por qué se devuelve al home.php algunas veces, casi siempre la primera vez ??

de antemano muchas gracias!
  #2 (permalink)  
Antiguo 14/02/2013, 23:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: fallo en sesiones php

Las sesiones se transmiten por una cookie de sesión, o por URL, verifica que la cookie de sesión se este estableciendo bien, si no intenta pasarlo por URL.

También verifica el código bien, si ese es tu código tal cual no debería de fallar, pero aún así verifica que no estés sobrescribiendo la variable $_SESSION['paisglobal'].

Saludos.
  #3 (permalink)  
Antiguo 15/02/2013, 00:15
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: fallo en sesiones php

Para ir haciendo las verificaciones podés ayudarte poniendo el siguiente código al final de tus páginas que usen sesiones



Código PHP:
Ver original
  1. <!--
  2. Debug
  3. <?php
  4. echo "_COOKIE\n";
  5. foreach ($_COOKIE as $indice=>$str){
  6. $$indice =  $str ;
  7. echo "$indice = $str \n";
  8. }
  9. echo "_SESSION \n";
  10. foreach ($_SESSION as $indice=>$str){
  11. $$indice =  $str ;
  12. echo "$indice = $str \n";
  13. }
  14. ?>
  15.  -->

Una vez cargada la página, mirá el código fuente para ver que variables están presentes y sus valores.
Si te es más cómodo hacer visible la información, cambia el comentario html por una etiqueta <pre>
En tu caso en particular, como hacés una redirección para analizar los datos de las sesiones, reemplazá el header('Location: /home.php') por un echo "redirije";. una vez verificado el funcionamiento, restaurás la acción original

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 15/02/2013, 01:29
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 1 mes
Puntos: 8
Respuesta: fallo en sesiones php

Saludos, la pagina home.php, es donde pone sus credenciales o la zona de registrados

Saludos

Etiquetas: fallo, sesiones
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 13:25.