Foros del Web » Programando para Internet » PHP »

Error al crear cookie y redireccionar

Estas en el tema de Error al crear cookie y redireccionar en el foro de PHP en Foros del Web. Hola, tengo un pequeño problema con mi código PHP y las Cookies que genera. El código es el siguiente: Código PHP: <?php if(empty( $_POST [ ...
  #1 (permalink)  
Antiguo 31/10/2009, 07:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 13
Error al crear cookie y redireccionar

Hola,
tengo un pequeño problema con mi código PHP y las Cookies que genera.

El código es el siguiente:
Código PHP:
<?php
if(empty($_POST['pass'])) {
  echo 
'<form id="form1" name="form1" method="post" action="">
Clave:
      <input type="password" name="pass" />
    <p>
      <input type="submit" name="send" value="Enviar" />
    </p>
  </form>'
;
}else{
  if(
$_POST['pass']=="54322") {
  
setcookie("autorization""YES"time()+3600);
?>
<meta http-equiv="acción" content="1"; url="acp.php" />
<?php
  
}else{
?>
<meta http-equiv="acción" content="1"; url="../index.php" />
<?php
  
}
}
  
?>
Pero cuando meto la contraseña en el form y le doy al botón, me salta el siguiente error:
Warning: Cannot modify header information - headers already sent by (output started at /home/d414918/public_html/papa2/index.php:7) in /home/d414918/public_html/papa2/index.php on line 30

¿Cómo puedo arreglarlo?

Saludos!
  #2 (permalink)  
Antiguo 31/10/2009, 07:39
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Error al crear cookie y redireccionar

El error que te tira es que en la linea 7 de tu codigo, ya se envio informacion HTML, osea q no podes poner ya ninguna etiqueta meta, o poner la funcion header de PHP.
En la linea 7 seguro que tenes ese echo q nos mostras...=(

Saludos.
  #3 (permalink)  
Antiguo 31/10/2009, 16:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 13
Respuesta: Error al crear cookie y redireccionar

Pero se supone que es para que, si la contraseña es buena, te redireccione a un sitio; y si es mala, te redireccione al index

¿Cómo se podría arreglar? (además, antes de usar este código utilizaba solo un header en vez de dos metas)
  #4 (permalink)  
Antiguo 31/10/2009, 16:26
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Error al crear cookie y redireccionar

Podes redireccionar usando Javascript, la variable document te puede ayudar.

document.location.href=web

Y a web le pones lo que quieras!!

Y si queres que la redireccion se haga en un cierto tiempo, usa esto:

Código PHP:
var pagina 'index.php';
var 
segundos 10;
function 
redirect() {

    
document.location.href=pagina;

}

setTimeout("redireccion()",segundos); 
En 10 segundos vas a index.php. Lo podes modificar como quieras, lo hice en un momento a eso jeje.

Saludos.
  #5 (permalink)  
Antiguo 01/11/2009, 04:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 13
Respuesta: Error al crear cookie y redireccionar

Hola,
con eso ya redirecciona, pero me sigue dando un error al crear la cookie.

¿Cómo puedo arreglar eso?

El error sigue siendo el mismo; la línea 30 es dónde se crea la cookie

Saludos
  #6 (permalink)  
Antiguo 01/11/2009, 05:03
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: Error al crear cookie y redireccionar

Mmm, pone los if al reves, total no afecta el orden, no?

Jeje, pone primero el $_POST['pass']=="54322", con su setcookie correspondiente, y en caso de que la pass no sea asi, mostra el formulario o redirecciona en caso de q la pass este vacia o no.

Eso te sirve?

Saludos.
  #7 (permalink)  
Antiguo 01/11/2009, 13:21
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Error al crear cookie y redireccionar

Hola Therapist,

yo cuando redirecciono también tenia esos problemas de headers y decidi hacerlo así y no tengo ningún problema, funciona perfectamente

<?
print "<script>";
print " self.location='error5.php'";
print "</script>";
?>
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 13:28.