Foros del Web » Programando para Internet » PHP »

cookies en php

Estas en el tema de cookies en php en el foro de PHP en Foros del Web. hola, necesito ayuda. tengo problemas con cookies. Warning: Cannot add header information - headers already sent by (output started at /var/www/htdocs/pronosticos/cookies/segunda.php:15) in /usr/htdocs/cookies/segunda.php on line ...
  #1 (permalink)  
Antiguo 08/06/2004, 10:17
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 13 años, 9 meses
Puntos: 0
cookies en php

hola, necesito ayuda. tengo problemas con cookies.

Warning: Cannot add header information - headers already sent by (output started at /var/www/htdocs/pronosticos/cookies/segunda.php:15) in /usr/htdocs/cookies/segunda.php on line 22

pero tengo 2 archivos, el primero envia el formulario y luego grabo la cookie. pero sigue mostrando el mismo error.

primera.php

<?
if (!isset($_COOKIE['cookie_usuario'])){
echo "NO HAY COOKIE POR LO QUE MUESTRO EL FORM DE INGRESO";
?>
<html>
<head>
</head>
<body>
<form method="POST" action="segunda.php">
<br><br>
<center><h1>Cookies </h1>
<Center>
usuario = guillermo <br> clave = 12345678<br>
<table border="0" width="auto">
<tr>
<td width="33%">Nombre de usuario</td>
<td width="33%"><input type="text" name="nombre" size="20"></td>
<td width="34%">&nbsp;</td>
</tr>
<tr>
<td width="33%">Clave</td>
<td width="33%"><input type="password" name="clave" size="20"></td>
<td width="34%"><input type="checkbox" name="recordar" value="SI">recordar mis datos</td>
</tr>
</table>
<center>
<p><input type="submit" value="Submit" name="sub">
<input type="reset" value="Reset" name="res"></p>
</center>
</form>
</body>
</html>
<? }
else
{
$cookie_usuario = explode("-", $_COOKIE['cookie_usuario']); //Extraer los datos
$nombre = $cookie_usuario[0];
$clave = $cookie_usuario[1];
echo "<center>Bienvenido otra vez $nombre - su clave es<br> $clave <br>";
echo "<a href='salir.php'>Salir</a>";
exit;
}
?>

-----------------------------
segunda.php

<?
if(empty($_POST['nombre']) || empty($_POST['clave']))
{ ?>
<b>Complete todos los campos</b>
<? exit;
}
else
{
$time = time();
$nombre_usuario = "guillermo";
$clave_usuario = "12345678";
$check = $_POST['recordar'];
if (($nombre_usuario == $_POST['nombre']) &&($clave_usuario == $_POST['clave']))
{
echo "<font size=2>";
echo "<br>ok, los valores ingresados en el form de index.php coinciden con los de nombre de usuario y clave <br>";
echo "Este es un ejemplo básico para un solo usuario (\$nombre_usuario - \$clave_usuario),<br>para multiples usuarios conviene conectar a una base de datos MySql";
echo "<br><br><hr></font>";
$cookie_data = $nombre.'-'.$clave;
if($check=='SI')
{
if(setcookie ("cookie_usuario",$cookie_data, $time+600)==TRUE)
{
echo "<font size=2>";
echo "El valor \"recordar\" del form esta en SI<br>Cookie GUARDADA <br><b>".$cookie_data . "</b>"; ?>
<br><br><a href='salir.php'>Salir</a> </font>
<? }
}
}
else
{
echo "Usuario y/o clave inválidos";
exit;
}

}
?>
  #2 (permalink)  
Antiguo 08/06/2004, 13:02
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 15 años, 10 meses
Puntos: 8
Una cookie se envia en la cabecera. Una cabecera acaba donde empieza el contenido, por lo que debes subir la cookie antes de enviar nada de contenido. Ni siquiera puede enviar un espacio (No olvides que todo lo que haya antes de '<?' es contenido, por lo que el '<' debe ser el primer caracter del fichero, y no hacer ningun echo() o print() o cosas así...)
__________________
Kelpie
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:41.