Foros del Web » Programando para Internet » PHP »

creacion cookie

Estas en el tema de creacion cookie en el foro de PHP en Foros del Web. hola ojala me puedan ayudar he tenido problemas para crear la cookie para la session, no se donde este el error, ya que unas paginas ...
  #1 (permalink)  
Antiguo 11/05/2003, 02:01
 
Fecha de Ingreso: junio-2002
Mensajes: 45
Antigüedad: 21 años, 10 meses
Puntos: 0
creacion cookie

hola ojala me puedan ayudar he tenido problemas para crear la cookie para la session, no se donde este el error, ya que unas paginas me marcan un erro de header
ejemplo
he aqui los codigos.

uregistrar.php
<?
include("config.php") ;
if($registrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = str_replace("<","&lt;",$texto) ;
$texto = str_replace(">","&gt;",$texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$contrasena = quitar($contrasena) ;
$email = quitar($email) ;
mysql_query("insert into usuarios (nick,contrasena,email) values ('$nick','$contrasena','$email')") ;
echo "Has sido registrado con éxito. Haz click <a href=index.php>aquí</a> para ir a la página principal." ;
}
else {
?>
<p>Los datos marcados con un asterisco (*) son obligatorios.
<form name="formulario" method="post" action="uregistrar.php">
<b>* Nick:</b><br>
<input type="text" name="nick" maxlength="20"><br>
<b>* Contraseña:</b><br>
<input type="password" name="contrasena" maxlength="20"><br>
<b>* Email:</b><br>
<input type="text" name="email" maxlength="40"><br><br>
<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
mysql_close($conectar) ;
?>

uentrar.php
<?
include("config.php") ;
if($entrar) {
function quitar($texto) {
$texto = trim($texto) ;
$texto = str_replace("<","&lt;",$texto) ;
$texto = str_replace(">","&gt;",$texto) ;
return $texto ;
}
$nick = quitar($nick) ;
$contrasena = quitar($contrasena) ;
$resp = mysql_query("select contrasena from usuarios where nick='$nick'") ;
$datos = mysql_fetch_array($resp) ;
if(mysql_num_rows($resp) != 0) {
if($datos[contrasena] != $contrasena) {
echo "La contraseña es incorrecta. Haz click <a href=javascript:history.back()>aquí</a> para regresar." ;
}
else {
setcookie("unick",$nick,time()+7776000) ;
header("location: rotador.php") ;
}
}
else {
echo "Este usuario no existe en la base de datos." ;
}
}
else {
echo "
<form method=post action=uentrar.php>
<b>Nick:</b><br>
<input type=text name=nick maxlength=20><br>
<b>Contraseña:</b><br>
<input type=password name=contrasena maxlength=20><br><br>
<input type=submit name=entrar value=Entrar>
</form>
" ;
}
?>

ulogin.php
<?
include("config.php") ;
$usuario = $_COOKIE["unick"] ;
$resp = mysql_query("select nick from usuarios where nick='$usuario'") ;
if(mysql_num_rows($resp) == 0) {
?>
<script>location='usalir.php'</script>
<?
}
mysql_free_result($resp) ;
mysql_close($conectar) ;
?>

usalir.php
<?
setcookie("unick","") ;
header("location: rotador.php") ;
?>

he estado leyendo para ver como lo puedo resolver, pero no he encontrado nada. de antemano gracias
  #2 (permalink)  
Antiguo 11/05/2003, 12:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate bien que antes de tu <? .. donde metas ese código no tenga ningun espacio ni salto de línea .. Todo "HTML o cabeceras" enviadas al navegador ANTES de un setcookie() te provocaran esos "errores" de cabecera enviada en tal linea de tal script ..

FIJATE bien en las líneas donde indica que la cabecera ha sido enviada .. ahí tendras algo de HTML, algun espacio o salto de línea .. javascript .. etc ...

Cita:
Warning: Cannot add header information - headers already sent by (output started at /home/webcindario/lokinos/counter/unick.php:2) in /home/webcindario/lokinos/counter/unick.php on line 3

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 21:06.