Foros del Web » Programando para Internet » PHP »

redireccionamiento de paginas

Estas en el tema de redireccionamiento de paginas en el foro de PHP en Foros del Web. Hola compañeros Tengo el siguiente codigo: <html> <head> <title>¿Sabe la contraseña?</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="../css/nuevo.css"> </head> <body> <h1>Escriba la contraseña.</h1> <form ...
  #1 (permalink)  
Antiguo 04/04/2005, 11:13
 
Fecha de Ingreso: enero-2005
Mensajes: 45
Antigüedad: 12 años, 10 meses
Puntos: 0
redireccionamiento de paginas

Hola compañeros

Tengo el siguiente codigo:

<html>
<head>
<title>¿Sabe la contraseña?</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/nuevo.css">
</head>
<body>
<h1>Escriba la contraseña.</h1>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<input type="text" name="pw">
<input type="submit" value="enviar">
</form>
<?php
if (isset($pw)) {
if ($pw=="Na7x") {
header ("Location: destino2.html");
?>
<?php
}
elseif ($pw=="Na6z") {
?>
<h3>2. Sección protegida por contraseña</h3>
<p>Información interesante...</p>
<?php
}
else {
?>
<h3>Desgraciadamente, el contenido está protegido mediante contraseña.</h3>
<p>Si no sabe la contraseña, no podrá ver la información...</p>
<?php
}
}
?>
</body>
</html>

pero cuando ejecuto el archivo en el navegador me da un error en la linea 16

¿Podia ayudarme alguien?

Gracias de antemano.
  #2 (permalink)  
Antiguo 04/04/2005, 11:21
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 493
Antigüedad: 15 años, 3 meses
Puntos: 0
pues creo que el header no se puede utilizar si hay alguna salida de información a la consola.
prueba con
Código PHP:
echo "<script language='JavaScript' type='text/javascript'>";
echo 
"top.location='destino2.htm";  
echo 
"</script>"
  #3 (permalink)  
Antiguo 04/04/2005, 11:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

El error te lo da porque has enviado salida al navegador antes del header(). Lo que debes hacer es cambiar el orden de tu script para que lo primero que se ejecute sea el codigo de la redireccion:
Código PHP:
<?php
if (isset($pw)) {
if (
$pw=="Na7x") {
header ("Location: destino2.html");
exit;
}
?>
<html>
<head>
<title>¿Sabe la contraseña?</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/nuevo.css">
</head>
<body>
<h1>Escriba la contraseña.</h1>
<form action="<?php echo $PHP_SELF?>" method="post">
<input type="text" name="pw">
<input type="submit" value="enviar">
</form>
<?php
if (isset($pw)) {
if (
$pw=="Na6z") {
?>
<h3>2. Sección protegida por contraseña</h3>
<p>Información interesante...</p>
<?php
}
else {
?>
<h3>Desgraciadamente, el contenido está protegido mediante contraseña.</h3>
<p>Si no sabe la contraseña, no podrá ver la información...</p>
<?php
}
}
?>
</body>
</html>
Si vas a redireccionar no es necesario mostrar nada, por eso el exit; para finalizar la ejecucion del script.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 19:08.