2012-07-16 24 views
25

Estoy usando el siguiente código para una página refrescante, no se recarga al finalizar. El siguiente código no funciona en algún momento.PHP - página de actualización automática

$page = $_SERVER['PHP_SELF']; 
$sec = "10"; 
header("Refresh: $sec; url=$page"); 
echo "Watch the page reload itself in 10 second!"; 
+1

Quien downvoted esto debe publicar un comentario indicando el problema con la pregunta. – HeatfanJohn

+0

¿Debería editarlo para eliminar "debido a una gran carga en la página" si eso realmente no tiene nada que ver con el problema? – HeatfanJohn

+0

@HeatfanJohn No está mal ser el primero en comenzar algo bueno. Si la pregunta es útil, ¿por qué no lo vota usted mismo? De todos modos ... estoy votando como lo solucionó mi problema. –

Respuesta

41

utilizar un redireccionamiento <meta> en lugar de un redireccionamiento de cabecera, así:

<?php 
$page = $_SERVER['PHP_SELF']; 
$sec = "10"; 
?> 
<html> 
    <head> 
    <meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'"> 
    </head> 
    <body> 
    <?php 
     echo "Watch the page reload itself in 10 second!"; 
    ?> 
    </body> 
</html> 
+0

Interesante idea. Tomaré nota de eso. – DrinkJavaCodeJava

+0

¿No son estos dos métodos básicamente equivalentes? http://en.wikipedia.org/wiki/URL_redirection#Refresh_Meta_tag_and_HTTP_refresh_header Ambos le dicen al navegador que actualice la página en 10 segundos. Si el servidor web se ve abrumado por las solicitudes, cambiar la forma de decirle al navegador cómo actualizar la página realmente no va a ayudar, ¿verdad? – HeatfanJohn

+0

@HeatfanJohn - Por un lado, una actualización del encabezado HTTP no está en el estándar HTTP. Segundo, esto no comenzará el tiempo de espera hasta después de que se haya procesado el HTML, mientras que el navegador podría recibir la información del encabezado y actuar como lo desee, ya que el comportamiento de un redireccionamiento del encabezado no está estandarizado. – nickb

21

puede utilizar

<meta http-equiv="refresh" content="10" > 

simplemente añadirlo despues de las etiquetas de la cabeza

donde 10 es el momento en que su página se actualizará a sí misma

7

utilizar este código, que se actualizará automáticamente en 5 segundos, se puede cambiar en el tiempo de refresco

<?php $url1=$_SERVER['REQUEST_URI']; header("Refresh: 5; URL=$url1"); ?>

3

probar esto también. Su página se actualizará cada 10 segundos

<html> 
<head> 

    <meta http-equiv="refresh" content="10; url="<?php echo $_SERVER['PHP_SELF']; ?>"> 
</head> 
<body> 

</body> 
</html> 
+1

Hola, Gideon afoh, No es necesario pasar php_self en metaetiqueta (es decir, url = ). Sin esto también debería actualizar la página actual cada 10 segundos. –

0

utilizan Tal vez este código,

<meta http-equiv="refresh" content = "30" /> 

tomar sea fácil

Cuestiones relacionadas