PHP – Seite automatisch aktualisieren

Lesezeit: 4 Minuten

Benutzer-Avatar
Fou

Ich verwende den folgenden Code für eine Aktualisierungsseite, er wird nach Abschluss nicht neu geladen. Der folgende Code funktioniert manchmal nicht.

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

  • Wer dies abgelehnt hat, sollte einen Kommentar posten, in dem er sein Problem mit der Frage angibt.

    – HeatfanJohn

    16. Juli 2012 um 3:06 Uhr

  • Sollten Sie es bearbeiten, um “wegen starker Belastung der Seite” zu entfernen, wenn das wirklich nichts mit dem Problem zu tun hat?

    – HeatfanJohn

    16. Juli 2012 um 3:18 Uhr

  • @HeatfanJohn Es ist nicht schlecht, der Erste zu sein, der etwas Gutes beginnt. Wenn die Frage nützlich ist, warum stimmen Sie sie nicht selbst ab? Wie auch immer … ich stimme hoch, da es mein Problem gelöst hat.

    – Naeem Ul Wahhab

    5. Januar 2013 um 12:51 Uhr

Verwenden ein <meta> Umleitung anstelle einer Header-Umleitung, etwa so:

<?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>

  • Sind diese beiden Methoden nicht grundsätzlich gleichwertig? de.wikipedia.org/wiki/… Beide weisen den Browser an, die Seite in 10 Sekunden zu aktualisieren. Wenn der Webserver mit Anfragen überhäuft wird, hilft es nicht wirklich, die Art und Weise zu ändern, wie er dem Browser mitteilt, wie er die Seite aktualisieren soll, oder?

    – HeatfanJohn

    16. Juli 2012 um 3:05 Uhr

  • @HeatfanJohn – Zum einen ist eine HTTP-Header-Aktualisierung nicht im HTTP-Standard enthalten. Zweitens beginnt die Zeitüberschreitung erst, nachdem der HTML-Code gerendert wurde, während der Browser die Header-Informationen empfangen und sich nach Belieben verhalten könnte, da das Verhalten einer Header-Umleitung nicht standardisiert ist.

    – Nickb

    16. Juli 2012 um 3:12 Uhr

  • Einverstanden, meine Hauptsorge ist, dass, wenn sein Webserver überlastet ist, ich nicht glaube, dass dies helfen wird. Wenn das eigentliche Problem darin besteht, dass, wie Sie sagen, die HTTP-Header-Aktualisierung nicht allgemein berücksichtigt wird, während die Meta-Aktualisierung erfolgt, dann wird Ihre Lösung helfen.

    – HeatfanJohn

    16. Juli 2012 um 3:15 Uhr

  • @nickb – Ich habe noch nie gehört, dass die Header-Aktualisierung ein Kompatibilitätsproblem darstellt. Tatsächlich hat eine andere SO-Antwort den Verlauf des Refresh-Headers recht gut umrissen. Kompatibilität sollte kein Problem sein. Und wenn das der Fall ist … was ist? Die Frage enthält nicht genügend Details, um zu sagen, was das eigentliche Problem ist.

    – Ghoti

    16. Juli 2012 um 3:27 Uhr

  • @ghoti – Ich verstehe nicht, was du fragst. Sie haben eine Antwort verlinkt, die mit dem Wikipedia-Link identisch ist. Der Punkt ist, dass die Implementierung einer Header-Aktualisierung undefiniert ist und der vom OP verwendete Browser möglicherweise anders als erwartet behandelt wird. Allerdings ist die <meta> Aktualisierung ist standardisiert, also ist es eine sichere Sache, ganz zu schweigen davon, dass die <meta> Aktualisieren löste das Problem des OP.

    – Nickb

    16. Juli 2012 um 3:35 Uhr

Benutzer-Avatar
Ram Aquino

Sie können verwenden

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

Fügen Sie es einfach zwischen den Head-Tags hinzu

wobei 10 die Zeit ist, zu der sich Ihre Seite selbst aktualisiert

  • 10 min, 10 sek oder was anderes?

    – Morteza Hasanabadi

    5. Februar um 7:20 Uhr

Verwenden Sie diesen Code, er wird automatisch in 5 Sekunden aktualisiert, Sie können die Zeit in der Aktualisierung ändern

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

Benutzer-Avatar
Gideon Afoh

Probieren Sie dies auch aus. Ihre Seite wird alle 10 Sekunden aktualisiert

<html>
 <head>

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

 </body>
</html>

Verwenden Sie vielleicht diesen Code,

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

nimm es leicht

Benutzer-Avatar
Russell Newton

Dies funktioniert mit Firefox Quantum 60+ und Chrome v72 (2019)

//set a header to instruct the browser to call the page every 30 sec
header("Refresh: 30;");

Es scheint nicht ERFORDERLICH zu sein, sowohl die Seiten-URL als auch die Aktualisierungsperiode zu übergeben, um dieselbe Seite (erneut) aufzurufen. Ich habe dies nicht mit Safari/Opera oder IE/Edge versucht.

Benutzer-Avatar
Fikri Yogi

Einfacher Schritt wie dieser,

<!DOCTYPE html>
<html>
<head>
    <title>Autorefresh Browser using jquery</title>
    <script type="text/javascript" src="https://stackoverflow.com/questions/11497611/jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            startRefresh();
        });
        function startRefresh() {
            setTimeout(startRefresh,100);
            $.get('text.html', function(data) {
                $('#viewHere').html(data);
            });
        }
    </script>

</head>
<body>
    <div id="viewHere"></div>
</body>
</html>

Dieses Video für das komplette Tutorial
https://youtu.be/Q907KyXcFHc

1257800cookie-checkPHP – Seite automatisch aktualisieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy