Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No pasa las sesiones entre páginas

Estas en el tema de No pasa las sesiones entre páginas en el foro de PHP en Foros del Web. Hola a todos, Pues he cambiado mi página web de hosting y extrañamente no me guarda las sesiones entre páginas, si las guardo en una ...
  #1 (permalink)  
Antiguo 25/10/2014, 03:04
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
No pasa las sesiones entre páginas

Hola a todos,

Pues he cambiado mi página web de hosting y extrañamente no me guarda las sesiones entre páginas, si las guardo en una página se quedan pero si me muevo a otra, se va. La información de PHP está tal que así:



En el código no hay más que probar con esto:

Código PHP:
Ver original
  1. <?php session_start(); $_SESSION['variable'] = 'hola'; header('Location: index.php');

Código PHP:
Ver original
  1. <?php //Index.php
  2. session_start(); echo $_SESSION['variable'];

Para que no funcione....

Muchas gracias.
  #2 (permalink)  
Antiguo 25/10/2014, 22:59
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 pasa las sesiones entre páginas

Pues definitivamente funciona dicho código, si a ti no te va será configuración y nada más.

¿Cómo era tu configuración anterior?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/10/2014, 07:56
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Vale, ese ya no es el problema, acabo de solucionarlo, el problema es que no me redirecciona. Osea, yo tengo esto:

Código PHP:
Ver original
  1. header('Location: /');

Probé para ver si el error estaba en poner la "/" para volver al inicio y no, tampoco con la url. Por lo que me rendí. Otra opción es hacerlo con:

Código Javascript:
Ver original
  1. location.href = '/';

Pero el problema sería que tendría que cambiarlo de toda la página. ¿Ves alguna cosa que no permita headers? Creo que no se escribe nada delante del header que haga que no funciona, la pantalla se queda en blanco en la pagina que debería redireccionar al inicio.

Muchas gracias.
  #4 (permalink)  
Antiguo 27/10/2014, 08:00
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 pasa las sesiones entre páginas

Si habilitas el reporte de errores al máximo es probable que veas lo que nosotros no podemos adivinar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/10/2014, 08:05
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No pasa las sesiones entre páginas

Redirecciona con JAVASCIPT para forzarlo si no te da resultado, pero debes entender como funciona el redireccionamiento con HEADER de php
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #6 (permalink)  
Antiguo 27/10/2014, 10:07
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por pateketrueke Ver Mensaje
Si habilitas el reporte de errores al máximo es probable que veas lo que nosotros no podemos adivinar.
Tengo activados todos los errores pero la página se me queda en blanco, tengo esto al principio del documento global:
Código PHP:
Ver original 

Cita:
Iniciado por loncho_rojas Ver Mensaje
Redirecciona con JAVASCIPT para forzarlo si no te da resultado, pero debes entender como funciona el redireccionamiento con HEADER de php
Es que lo malo de redireccionar con javascript es que se ve la página a la que redirecciona por unos segundos y queda mal...
  #7 (permalink)  
Antiguo 27/10/2014, 10:11
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por iEnrique Ver Mensaje
Es que lo malo de redireccionar con javascript es que se ve la página a la que redirecciona por unos segundos y queda mal...

Explicate.. recuerda que nosotros no estamos frente a tu computador.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #8 (permalink)  
Antiguo 27/10/2014, 11:34
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por loncho_rojas Ver Mensaje
Explicate.. recuerda que nosotros no estamos frente a tu computador.
Es simple, al darle al botón para enviar los datos, me va hacia la página en blanco, se pone la URL de la página a la que envió y después me redirecciona.

Con el header de PHP, no me muestra la página en blanco a la que envió los datos ni se me cambia la URL, sino que espera en la misma página del formulario y luego me envía a la página donde redirecciono sin pasar por la página en blanco.

Además, tendría que modificar todos los header que tengo en mi pagina D:

Gracias
  #9 (permalink)  
Antiguo 27/10/2014, 12:53
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No pasa las sesiones entre páginas

Hago lo que pediste de entrada, y definitivamente, si me funciona.. es mas, en la pagina receptora primero pregunto si existe o no la session o si esta seteada..

Código PHP:
<?php //Index.php
session_start(); 

if(isset(
$_SESSION['m_user'])){
echo 
$_SESSION['m_user'];
}else{
echo 
"No existe ninguna sesion";
}
?>
Nunca va al ELSE de la condición, a menos que no exista la sesion.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #10 (permalink)  
Antiguo 27/10/2014, 13:14
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por loncho_rojas Ver Mensaje
Hago lo que pediste de entrada, y definitivamente, si me funciona.. es mas, en la pagina receptora primero pregunto si existe o no la session o si esta seteada..

Código PHP:
<?php //Index.php
session_start(); 

if(isset(
$_SESSION['m_user'])){
echo 
$_SESSION['m_user'];
}else{
echo 
"No existe ninguna sesion";
}
?>
Nunca va al ELSE de la condición, a menos que no exista la sesion.
No, ya no tengo ese problema. El problema está en que el header que hay debajo no me redirecciona... Ni sale error ni nada...
  #11 (permalink)  
Antiguo 27/10/2014, 13:19
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No pasa las sesiones entre páginas

No es lo maaaaaaas recomendado, pero si le pones al inicio

ob_start();

y al final

ob_end_flush();

pasa algo?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #12 (permalink)  
Antiguo 27/10/2014, 15:15
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por loncho_rojas Ver Mensaje
No es lo maaaaaaas recomendado, pero si le pones al inicio

ob_start();

y al final

ob_end_flush();

pasa algo?
Con eso si que funciona, entonces significa que en el archivo global tengo algo que crea cabeceras... ¿No? ¿Qué tipo de cosas tengo que evitar? La cosa es que en el hosting que tengo ahora no me deja pero en el anterior gratuito, sí me deja...
  #13 (permalink)  
Antiguo 27/10/2014, 15:41
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 pasa las sesiones entre páginas

Cita:
Iniciado por iEnrique Ver Mensaje
Con eso si que funciona, entonces significa que en el archivo global tengo algo que crea cabeceras... ¿No? ¿Qué tipo de cosas tengo que evitar? La cosa es que en el hosting que tengo ahora no me deja pero en el anterior gratuito, sí me deja...
Es curioso... si tuvieras habilitado el reporte de errores entonces sería capaz de ver dichos errores, porque para que salga "la pantalla en blanco" es porque ocurrió un error fatal.

Las cosas que debes evitar te las va indicando el error, pero básicamente es esto:

http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 27/10/2014, 16:32
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por pateketrueke Ver Mensaje
Es curioso... si tuvieras habilitado el reporte de errores entonces sería capaz de ver dichos errores, porque para que salga "la pantalla en blanco" es porque ocurrió un error fatal.

Las cosas que debes evitar te las va indicando el error, pero básicamente es esto:

http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F
Te dije antes que tengo activados todos los tipos de errores;

Código PHP:
Ver original 
  #15 (permalink)  
Antiguo 27/10/2014, 18:24
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 pasa las sesiones entre páginas

Pero esa no es la única configuración, si no tienes habilitado display_errors jamás verás nada.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 28/10/2014, 09:39
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

Cita:
Iniciado por pateketrueke Ver Mensaje
Pero esa no es la única configuración, si no tienes habilitado display_errors jamás verás nada.
Vale, ya lo he activado pero me sale esto: Warning: Cannot modify header information - headers already sent by (output started at /home/habclo/public_html/pagina/resources/index.php:1) in /home/habclo/public_html/pagina/logout/index.php on line 5

Pero, ¿cómo se donde está lo que toma como una salida? Yo únicamente los echo que tengo en el archivo /resources/index.php están dentro de funciones. Por ejemplo:

Código PHP:
Ver original
  1. function hola(){
  2. $buenas = 'hola';
  3. ?>
  4. <div><?php echo $buenas; ?></div>
  5. <?php
  6. }
  7. ?>

Gracias
  #17 (permalink)  
Antiguo 28/10/2014, 12:30
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 pasa las sesiones entre páginas

Lee lo siguiente: ¿Por qué me sale "Warning: Cannot modify header information - headers already sent by (output started at 1:2) in 3 on line 4"?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #18 (permalink)  
Antiguo 29/10/2014, 10:14
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: No pasa las sesiones entre páginas

¡Muchísimas graciaas! Ya he conseguido solucionarlo, gracias de verdad por la paciencia.

Etiquetas: páginas, sesiones, variable
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 17:30.