Foros del Web » Programando para Internet » PHP »

require() & session_start() incompatibles

Estas en el tema de require() & session_start() incompatibles en el foro de PHP en Foros del Web. Bueno, pues nada que tengo que utilizar un require para coger información de un archivo .php y también usar las sesiones. No me había percatado ...
  #1 (permalink)  
Antiguo 21/09/2007, 08:55
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
De acuerdo require() & session_start() incompatibles

Bueno, pues nada que tengo que utilizar un require para coger información de un archivo .php y también usar las sesiones.

No me había percatado del problema hasta que vi que si usaba el require resulta que no funciona nada. No pasaba variables mediante POST, no las recogía...etc.

No estoy seguro, pero creo recordar que session_start() debía estar escrito en la primera linea de código de todo el archivo .php.
Y si tampoco recuerdo mal, pasaba lo mismo con require();

¿Si las dos han de estar en la primera linea, cómo lo hago?
He probado a poner una despues de otra como si fuera un echo detrás de otro en la misma linea, y nada, los fallos me continuan. No me funciona nada que vaya por el método POST.

¿A qué puede deberse?

Gracias de antemano.
  #2 (permalink)  
Antiguo 21/09/2007, 09:08
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: require() & session_start() incompatibles

ninguno debe estar en la primera fila...

session_start tiene que estar antes de cualquier output
require puede estar en cualquier lugar...

Si tenés un require antes del session_start revisa que no tengas espacios en blanco fuera de <?php y ?> que pueden hacer que no se inicie la sesion
  #3 (permalink)  
Antiguo 21/09/2007, 09:15
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Re: require() & session_start() incompatibles

Gracias por la explicación de lo de la primera linea.

De todos modos, tal vez no me he explicado bien.

Cuando uso el require, no estoy diciendo que la sesión no se inicie, pues si la inicia y la transmite por diferentes páginas de la web sin problema alguno.

Simplemente dejan de funcionar todas aquellas acciones que sean recogidas mediante POST. no llega siquiera a recojerlas puesto que no se cumple la condición de isset($variable).

Esto hace que un usuario no pueda iniciar sesión a través de un formulario, que no pueda votar, etc...
  #4 (permalink)  
Antiguo 21/09/2007, 09:37
 
Fecha de Ingreso: septiembre-2007
Mensajes: 20
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: require() & session_start() incompatibles

Deberías probar
Código PHP:
isset($_POST['variable']) 
Si lo estás probando directamente con la variable y el servidor no tiene REGISTER_GLOBALS activo (bien hará de no tenerlo activo...), no la leerá. Tendrás que acceder a ella a través del Array de $_POST.
  #5 (permalink)  
Antiguo 21/09/2007, 11:41
Avatar de IMAC/  
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Re: require() & session_start() incompatibles

No, el isset no falla, está bien echo.
Hago el isset del siguiente modo:

Código PHP:
$var=$_POST['variable'];

if(isset(
$var)){ 


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 23:12.