Foros del Web » Programando para Internet » PHP »

Cookies y session

Estas en el tema de Cookies y session en el foro de PHP en Foros del Web. buenas tardes la verdad estoy un poco confundido con el manejo de cookies y las secciones estoy haciendo una pagina de entrada en la cual ...
  #1 (permalink)  
Antiguo 22/02/2005, 13:34
 
Fecha de Ingreso: enero-2005
Mensajes: 28
Antigüedad: 12 años, 10 meses
Puntos: 0
Exclamación Cookies y session

buenas tardes la verdad estoy un poco confundido con el manejo de cookies y las secciones estoy haciendo una pagina de entrada en la cual definino una session para tener autenticacion del usuario pero cuando le agrego
session_start();
me saca el explorador un error no se que sea

Warning: Cannot send session cookie - headers already sent by (output started at c:\foxserv\www\kennel\login.php:7) in c:\foxserv\www\kennel\login.php on line 54

tengo que crear una Cookies como hago....
les agradezco la ayuda y como hago para recibirla en la pagina que quiero ir anexo codigo
de como estoy haciendo

session_start();
$_SESSION['USU_LOGIN'] = $_POST['USU_LOGIN'];
echo "<script>document.location='index.php'</script>";


muchas gracias
  #2 (permalink)  
Antiguo 22/02/2005, 13:43
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 14 años, 6 meses
Puntos: 8
session_start();

Tiene que ser la primera linea de tu script, _siempre_.

Saludos.
  #3 (permalink)  
Antiguo 22/02/2005, 13:53
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 13 años, 11 meses
Puntos: 0
No es que tenga que ser la primera línea estrictamente, más bien no deben haber espacios, salida de texto (echo, print, etc...) antes de la llamada a la funcion session_start()


Con respecto a tu código:
session_start();
$_SESSION['USU_LOGIN'] = $_POST['USU_LOGIN'];
echo "<script>document.location='index.php'</script>";

Me imagino que el javascript es para redireccionar, en ese caso podrías utilizar header() y hacer un redirect algo más "sutil".

session_start();
$_SESSION['USU_LOGIN'] = $_POST['USU_LOGIN'];
header("Location: index.php");


Saludos

Última edición por HiperJP; 22/02/2005 a las 13:55
  #4 (permalink)  
Antiguo 22/02/2005, 14:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías poner el código completo de login.php .. por qué en la línea 7 ya tienes algo de salida hacia el cliente que está ocasionando el problema antes de usar session_start() ..

Date cuenta que si haces algo como
inicio de la sesión (session_Start()) -> dar un valor a dicha variable de sesión -> redireccionar a otra página ..

No tiene mucho sentido colocar más HTML por encima (algo como <html> .. etc .. ) por lo menos en esa parte del proceso (otra cosa es que uses un mismo script para vários procesos como por ejemplo tener tu formulario HTML y el código PHP que valida o algo así ) ahí se trata de reordenar tu código para que no tengas nada de "HTML" (por decir "salida") al cliente (navegador) antes de tus session_Start() o bien header() .. etc ...

Un saludo,
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:39.