Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: klaine en 11 Octubre 2011, 23:43 PM

Título: Header, como se usa
Publicado por: klaine en 11 Octubre 2011, 23:43 PM
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!
Título: Re: Header, como se usa
Publicado por: Carluís en 12 Octubre 2011, 01:41 AM
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.
Título: Re: Header, como se usa
Publicado por: klaine en 18 Octubre 2011, 23:48 PM
Y se puede redireccionar despues de n segundos?
Título: Re: Header, como se usa
Publicado por: Carluís en 19 Octubre 2011, 03:00 AM
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.
Título: Re: Header, como se usa
Publicado por: raul338 en 19 Octubre 2011, 03:45 AM
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
Título: Re: Header, como se usa
Publicado por: ba$htian 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';
Título: Re: Header, como se usa
Publicado por: Carluís en 22 Octubre 2011, 17:07 PM
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.
Título: Re: Header, como se usa
Publicado por: RedZer en 22 Octubre 2011, 17:19 PM
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);