Header, como se usa

Iniciado por klaine, 11 Octubre 2011, 23:43 PM

0 Miembros y 1 Visitante están viendo este tema.

klaine

Buenas, he visto que para redireccionar a una pag despues de cierto tiempo usan:

header("Location: pagina.php");

El caso es que no me funka cuando trabajo en la misma pagina, ¿esta mal trabajar con un solo archivo php?

De antemano, gracias, saludos!

Carluís

header() es usado para enviar encabezados HTTP sin formato. Ver la especificación » HTTP/1.1 specification para más información sobre encabezados HTTP.

Recuerda que header() debe ser llamado antes de mostrar nada por pantalla, etiquetas HTML, líneas en blanco desde un fichero o desde PHP. Es un error muy común leer código con funciones como include() o require(), u otro tipo de funciones de acceso de ficheros que incluyen espacios o líneas en blanco que se muestran antes de llamar a la función header(). Sucede el mismo problema cuando se utiliza un solo fichero PHP/HTML.

<html>
<?php
/* Esto producirá un error. Fíjate en el html
 * que se muestra antes que la llamada a header() */
header('Location: http://www.example.com/');
?>


Para redireccionar utiliza este código:

<?php
/* Redirecciona a una página diferente en el mismo directorio el cual se hizo la petición */
$host  $_SERVER['HTTP_HOST'];
$uri   rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>


Saludos.
Desarrollo Web, Blogging, Diseño: http://onsoni.blogspot.com

klaine

Y se puede redireccionar despues de n segundos?

Carluís

La re dirección es instantáneamente, solo añade la URL Especifica y redireccionara, queda a cuestión tuya las modificaciones o lo demás.
Desarrollo Web, Blogging, Diseño: http://onsoni.blogspot.com

raul338

Cita de: klaine en 18 Octubre 2011, 23:48 PM
Y se puede redireccionar despues de n segundos?
Eso se hace mediante javascript o meta-etiquetas

ba$htian

#5

<?php
header ('refresh: 5; url=http://www.xzone.com/l');

$header = 'From: ' . $correos . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $a . ", num " . $tel . " \r\n";
$mensaje .= "el correol es: " . $correos . " \r\n";
$mensaje .= "Mensaje: " . $_POST['texto'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'xxx69@hotmail.com';
$asunto = 'contacto desde';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'estatus=enviado';
existen 10 tipos de personas las que saben leer binario y las que no

Carluís

Cita de: tron$y$tem en 22 Octubre 2011, 05:49 AM
<?php
header ('refresh: 5; url=http://www.xzone.com/l');

$header = 'From: ' . $correos . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $a . ", num " . $tel . " \r\n";
$mensaje .= "el correol es: " . $correos . " \r\n";
$mensaje .= "Mensaje: " . $_POST['texto'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'xxx69@hotmail.com';
$asunto = 'contacto desde';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'estatus=enviado';

¿X-Mailer? para que tanto? hijo vas a complicarle la vida, sería más necesario un ejemplo sencillo. como el que proporcione anteriormente.
Desarrollo Web, Blogging, Diseño: http://onsoni.blogspot.com

RedZer

#7
quiza esto te sirva

Código (php) [Seleccionar]

            echo "<script language='javascript'>";
            echo "location = 'index.php'";
            echo "</script>";
 


con tiempo seria algo asi en medio de las etiquetas de java script
Código (javascript) [Seleccionar]


setTimeout("location.href='menu/menu.php'", 3000);
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo