Foros del Web » Programando para Internet » PHP »

Problemas con las sesiones

Estas en el tema de Problemas con las sesiones en el foro de PHP en Foros del Web. Estoy desesperada, no se ya que hacer, creo que es debido a algun problema interno de PHP, lo tengo montado en un Win 2k Sp3 ...
  #1 (permalink)  
Antiguo 02/12/2002, 04:41
Avatar de dabogar  
Fecha de Ingreso: diciembre-2002
Ubicación: Valenciaaaa es la tierra de las flores ...
Mensajes: 33
Antigüedad: 21 años, 4 meses
Puntos: 0
Problemas con las sesiones

Estoy desesperada, no se ya que hacer, creo que es debido a algun problema interno de PHP, lo tengo montado en un Win 2k Sp3 con IIS 5.0 todo debidamente actualizado y versión de PHP 4.2.3.

Mi problema viene que estoy creando una aplicación para la empresa y he decidido realizarla bajo PHP para que sea accesible desde Internet, pues bien he creado una página de Login que se me conecta correctamente a la BDA según el usuario y password, pues bien intente hacer una redirección si el resultado de la consulta era 0 con
header("Location: http://www.example.com/");
exit;

Con lo que obtengo este bonito error:

Warning: Cannot add header information - headers already sent by (output started at e:\inetpub\wwwroot\gromero\phpinfo.php:7) in e:\inetpub\wwwroot\gromero\phpinfo.php on line 7

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body><?php header("Location: http://www.google.com/"); // linea 7
exit;
?>

</body>
</html>

Solución:cambiar la propiedad href del objeto document.

Pero lo grave viene ahora...

session_start(); $_SESSION['nombre']=$row_login['nombre']; $_SESSION['tipo_usuario']=$row_login['tipo_usuario'];
y en otra página ....

<?php
session_start();
$nom=$_SESSION['nombre'];
echo "Hola $nom" ;
?>

Tras lo cual lo único que veo es ....

Warning: Cannot send session cookie - headers already sent by (output started at e:\inetpub\wwwroot\gromero\main.php:12) in e:\inetpub\wwwroot\gromero\main.php on line 14

Warning: Cannot send session cache limiter - headers already sent (output started at e:\inetpub\wwwroot\gromero\main.php:12) in e:\inetpub\wwwroot\gromero\main.php on line 14

Notice: Undefined index: nombre in e:\inetpub\wwwroot\gromero\main.php on line 15
Hola

Estoy totalmente desesperada y no se como cojones arreglarlo!!!!!

Por favor si alguien sabe la solución estaria muy contenta

SALUDOS
  #2 (permalink)  
Antiguo 02/12/2002, 06:26
 
Fecha de Ingreso: julio-2002
Ubicación: Elche
Mensajes: 153
Antigüedad: 21 años, 9 meses
Puntos: 0
Para redireccionar no puedes haber mandado nada al cliente, tienes que poner la redirección antes de las etiquetas <html>.....etc.

Y lo de la sesión lo mismo, no puedes comenzar una sesión si ya has mandado codigo html, todo eso lo tienes que hacer antes de escribir etiquetas.

Un saludo.
  #3 (permalink)  
Antiguo 02/12/2002, 06:32
 
Fecha de Ingreso: julio-2002
Ubicación: Elche
Mensajes: 153
Antigüedad: 21 años, 9 meses
Puntos: 0
Me explico mejor

Esto es lo tuyo:

<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body><?php header("Location: http://www.google.com/"); // linea 7
exit;
?>

</body>
</html>

Y se tiene que quedar así:

<?php
header("Location: http://www.google.com/");
exit;
?>
  #4 (permalink)  
Antiguo 02/12/2002, 09:54
Avatar de dabogar  
Fecha de Ingreso: diciembre-2002
Ubicación: Valenciaaaa es la tierra de las flores ...
Mensajes: 33
Antigüedad: 21 años, 4 meses
Puntos: 0
Thanks!

Pues muchas gracias, no me habia dado cuenta de ese tonto detalle

He conseguido solucionar la redirección mediante el Header, y las sesiones.

La verdad es que llevaba todo el dia buscando información y ejemplos y de todos los ejemplo no me habia fijado de la posición que acupaba tanto el Header como session_start()

Muchas Gracias en serio
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 00:52.