Foros del Web » Programando para Internet » PHP »

Header y Session Start no chutan bien

Estas en el tema de Header y Session Start no chutan bien en el foro de PHP en Foros del Web. hola, porque me da error en header la session....? Código PHP: session_name ( $usuarios_sesion ); session_start (); session_destroy ();  eso es lo que hago para ...
  #1 (permalink)  
Antiguo 28/06/2003, 19:42
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
Header y Session Start no chutan bien

hola, porque me da error en header la session....?

Código PHP:
session_name($usuarios_sesion);
session_start();
session_destroy(); 
eso es lo que hago para borrar la session y da este error...


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at index2.php:9) in aut_logout.php on line 3,

linea 3 es: session_start();
__________________
3w.valenciadjs.com
3w.laislatv.com
  #2 (permalink)  
Antiguo 28/06/2003, 23:21
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Y que hay en las lineas 1 y 2??

Lo mas probable es que hayas dejado alguna linea en blanco o algun caracter antes de el <?
__________________
Manoloweb
  #3 (permalink)  
Antiguo 29/06/2003, 08:26
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
las lineas 1 y 2 son

<?php
session_name($usuarios_sesion);


este error solo pasa cuando no tengo la session abierta, osea, cuando quiero deslogearme sin estar logeado.... el caso es que cuando me logeo y borro la session no me da ese error
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 29/06/2003, 09:35
Avatar de Sav1989  
Fecha de Ingreso: junio-2003
Ubicación: Cap Fed | Colegiales
Mensajes: 50
Antigüedad: 20 años, 10 meses
Puntos: 0
Por lo poco q se.. me parece que tenes que primero hacer el session_start(), y luego el name... Aunq sea en todos los lados lei "antes q nada hay que iniciar las sessiones - session_start()"
Bue, no se si esta bien lo que dije, pero para probar sirve.
  #5 (permalink)  
Antiguo 29/06/2003, 10:07
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
Lo de poner el session_name delante del session_start da igual, yo por lo menos lo tengo asi y no me da problemas. Nuevo revisa tu codigo a ver si por casualidad antes de hacer el session_start() le mandas algo al cliente porque si le mandas algo ya no puedes abrir la sesion.

Las sesiones son un poco puñeteras a mi me empezo a dar un error parecido al tuyo y no encontre donde estaba el fallo y tube que empezar el scripte de 0 e ir probandolo poco a poco.

Un Saludo
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #6 (permalink)  
Antiguo 29/06/2003, 12:27
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Tu fallo esta en que estas enviando salida al navegador en la linea 9 del fichero index2.php (es lo que te dice el error). Antes del session_start() o header() no puedes enviar nada al navegador, no HTML ni echo ni espacios o saltos de linea que a veces se quedan detras del ?> de los ficheros que incluyes.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 29/06/2003, 15:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Mensaje Original por Sexma
Lo de poner el session_name delante del session_start da igual, yo por lo menos lo tengo asi y no me da problemas. Nuevo revisa tu codigo a ver si por casualidad antes de hacer el session_start() le mandas algo al cliente porque si le mandas algo ya no puedes abrir la sesion.
Bueno, no da igual el orden .. si usas session_name() despues de session_start() no modificaras el nombre de la sesisión actual (es más .. si lo usas así: session_name() te devolverá el nombre actual de la sesión) .. No te dá problemas y te funciona el tema simplemente porqué estás usando el nombre de sessión que dá php por defecto (explicado a continuación), pero en realidad no estás modificando el valor del nombre de la sesión.

Fijate .. si usas propagación del SID por el URL (no en cookie) verás como si usas session_name() despues de session_start() tomará como nombre de sesión el que le des por defecto en tu php.ini .. normalmente: PHPSESSID (lo define la directiva: session.name de tu php.ini)

El nombre de la sesión es importantisimo continuar con el mismo que uses en todas tus inicializaciones de sessiones vía session_start() .. pero -ANTES- de esta .. Lo mismo sucede con otros parámetros inciales de sessión si los modificas en tiempo de ejecución vía ini_set() o funciones session_xxxx() que corresponda (no en todos es igual .. pero el manual de PHP oficial describe perfectamente (en su versión en ingles sobre todo) cuales necesitan iniciarse antes de session_start() o despues).

Por lo demas (nuevo).. los errores de "header" ya los han descrito .. Sobre todo fijate en el comentario de josemi sobre si usas include() de ese código .. y los espacios/salto de línea que puedas tener despues de tu último ?> .. Y fijate que los errores de "cabeceras" (header) simpre dice en que línea tienes el "header" que dá problemas y siempre dice "donde" está el espacio/salto de línea .. echo "algo" .. o HTML en general que has enviado al navegador (y a que archivo pertenece por si es llamado bajo algún include o similiar)

Un saludo,

Última edición por Cluster; 29/06/2003 a las 15:32
  #8 (permalink)  
Antiguo 29/06/2003, 16:06
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
Gracias por la aclarion de las sesiones Cluster .

Cuando antes dije que yo utilizaba el session_name antes del sesison_start se me olvido comentar que pongo siempre el mismo nombre de session.

Código PHP:
session_name('sesion');
session_start(); 
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



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 11:44.