Foros del Web » Programando para Internet » PHP »

error al iniciar sesion.

Estas en el tema de error al iniciar sesion. en el foro de PHP en Foros del Web. Hola Gente... He estado implementando, cuando valida un usuario y password que inicie una sesion para que cuando llame a un script pueda saber si ...
  #1 (permalink)  
Antiguo 31/10/2003, 08:44
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 8 meses
Puntos: 0
error al iniciar sesion.

Hola Gente...

He estado implementando, cuando valida un usuario y password
que inicie una sesion para que cuando llame a un script pueda saber si un usuario fue logueado...

les paso el codigo de la linea 34 la cual me da el error.

session_start();
session_register("login");
$login = $usuario;

La idea es que cuando pase a otro script, en este tenga el valor de $login, osea si hay un usuario logueado.

Mil gracias.... Hernan


Warning: Cannot send session cookie - headers already sent by (output started at c:\Archivos de programa\Apache Group\Apache\htdocs/expedientes/index.php:9) in c:\Archivos de programa\Apache Group\Apache\htdocs/expedientes/index.php on line 34

Warning: Cannot send session cache limiter - headers already sent (output started at c:\Archivos de programa\Apache Group\Apache\htdocs/expedientes/index.php:9) in c:\Archivos de programa\Apache Group\Apache\htdocs/expedientes/index.php on line 34
  #2 (permalink)  
Antiguo 31/10/2003, 08:55
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El session_start() debe ir antes de enviar algo al navegador. Debe ir antes de todo el HTML, de todo echo, de todo lo que mande salida al navegador.

Lo mas recomendable es que las primeras lineas de todo el fichero sean:
Código PHP:
<?php
session_start
();
aunque puedes tener antes codigo PHP que no genere salida.

Si te fijas en el mensaje de error, te dice que comenzaste ha enviar salida en la linea 9.

El error te lo da porque, tal como tienes configurado, propagas el ID de sesion por cookie. Y la informacion de esa cookie tiene que ser enviada antes que la salida normal, porque va en una cabecera. Por eso session_start() tiene las mismas restricciones que header() y que setcookie().

Por supuesto, puedes usar las funciones de manejo del buffer de salida (ob_start() y compañia), para evitar tener que modificar tu codigo. Aunque yo te recomiendo que no las uses y que reorganices el codigo. Las funciones de buffer sobrecargan el PHP.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 31/10/2003, 09:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ya puestos ..

Mejor si no usas session_register() y esa forma de capturar tus variables de sesión como "globales" .. Usa (si dispones de PHP 4.1.0 en adelante) los array superglobales $_SESSION .. En las FAQ's de este foro tienes ejemplos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 07:00.