# Seite automatisch neu aufbauen



## DJDragonheart (31. Mai 2004)

Huhu!

Ich bin gerade dabei ne seite zu schreibseln die sich aus einer Datenbank den text holt und als Tabelle darstellt. Diese Tabelle soll nun alle 60 sec oder so neu geladen werden bzw das Script neu ausgeführt werden um neue einträge in der DB auch zu sehen. 
Irgendwie finde ich aber keinen befehl ausser Header zum neu laden, und eine anweisung a la goto aus Turbo pascal hab ich bisher auch nicht gesehen.
Hat da irgendwer eine Lösung?

MfG

DJD


----------



## Mairhofer (31. Mai 2004)

Moin,

vielleicht per <meta refresh=60.. (ka wie genau die Syntax war)
oder per JavaScript.

Mit PHP direkt wird es nicht gehen, da du den Refresh ja auf dem Client durchführen(Meta, JS) musst und nicht auf dem Server(PHP).


MfG
Andreas


----------



## joky_joky (31. Mai 2004)

Tach ich habe fast das gleiche problem gehabt hab es so gelöst

<meta http-equiv="refresh" content="60; URL=deineseite.html oder auch php">

dieses einfach in die seite einfügen die erneuert werden soll. damit erneuert er dann die seite alle 60 sek.


----------



## JohannesR (31. Mai 2004)

```
<?php
sleep(60);
header("Location: {$_SERVER[PHP_SELF]}?{$_SERVER[QUERY_STRING]}");
?>
```

So z.B.?


----------



## DJDragonheart (31. Mai 2004)

Huhu!

Das mit dem Header geht nich, der muss verschickt werden bevor irgendwas an htmlcode ausgegeben wird. Wie das aussieht bleibt wohl nur das metatag oder n javascript :-/


----------



## Operator_Jon (31. Mai 2004)

Probiers mal hiermit:

```
<html>
  <head>
    <title>Refresh</title>
    <script type="text/javascript">
      function re_load() {
        window.document.location.reload();
      }
      setTimeout("re_load()",60000);
    </script>
  </head>
  <body>
    INHALT
  </body>
</html>
```


----------



## JohannesR (1. Juni 2004)

> _Original geschrieben von DJDragonheart _
> *Huhu!
> 
> Das mit dem Header geht nich, der muss verschickt werden bevor irgendwas an htmlcode ausgegeben wird. Wie das aussieht bleibt wohl nur das metatag oder n javascript :-/ *


Buffer die Ausgabe doch einfach?


----------



## Sven Petruschke (1. Juni 2004)

Johannes, darf ich Dich auch einmal korrigieren  :
Er möchte die Seite aller 60 Sekunden neu laden. Wenn er die Ausgabe puffert, 
den Header zum laden der neuen Seite nach 60 Sekunden ausgibt und dann den 
Puffer leert, lädt der Browser 60 Sekunden die Seite, bekommt nichts zurück und 
wenn die 60 Sekunden vorbei sind, wird gleich auf die selbe Seite weitergeleitet 
und das Spiel beginnt erneut.

snuu


----------



## JohannesR (1. Juni 2004)

Achja...  Mist, okay. Ich nehm alles zurück und behaupte das Gegenteil!


----------



## TheGreenDragon (17. Juli 2009)

Hallo,

auch ich möchte das meine Seite neu geladen wird, ABER nur einmal und dass auch nur wenn eine bestimmte Bedingung erfüllt ist.

Dieser Befehl sieht ganz nett aus aber dass mit den 60 will ich aber nicht.
<meta http-equiv="refresh" content="60; URL=deineseite.html oder auch php">

Verstehe ich das auch richtig? Wenn ich nur ein PHP-Script zu Verfügung habe welches irgendwo included wird kann ich mit dem Befehl da oben ja nicht arbeiten oder?
Denn ein

```
if ( bedingung ) { '. <meta http-equiv="refresh" content="60; URL=deineseite.html oder auch php"> .' hier wieder php code
```
wird nicht so funktionieren wie ich mir das Vorstelle, oder? Bin ratlos...

Oder kann man irgendwie javascript ausführen wenn eine in PHP definierte Bedingung zutrifft, dass dann die das neuladen der Seite veranlässt?


----------



## Operator_Jon (17. Juli 2009)

Hi,

du kannst selbstverständlich alle oben genannten varianten verwenden!


```
<?php
if ($bedingung == true) {
    header("Location: {$_SERVER[PHP_SELF]}?{$_SERVER[QUERY_STRING]}"); 
    ?>
    <script type="text/javascript">window.document.location.reload();</script>
    <meta http-equiv="refresh" content="0; URL=deineseite.html oder auch php">
    <?php
}
?>
```

Alles möglich


----------



## TheGreenDragon (17. Juli 2009)

WAHNSINN, ich glaub das hat sogar funktioniert!
Besten Dank für die Hilfe


----------



## Operator_Jon (17. Juli 2009)

Gerne doch


----------



## maex78 (2. Juni 2011)

Hallo 
Habe folgendes Problem...mein Internetshop wird oftmals über google gefunden-bzw. wird direkt zum Artikel gelinkt. Bei der Ansicht des Artikels (Detailseite) befindet sich ein Button, um den Artikel in den Einkaufswagen zu legen. Wenn der Artikel direkt über google gefunden wurde und noch kein cookie von meiner seite dem Browser bekannt ist, wird man bei "klick" des Einkaufswagen-Buttons auf die index.php umgeleitet. Das liegt daran, dass das Script kein cookie finden kann. Wenn man aber auf der Detailseite einen refresh macht (oder reload) funktioniert der Einkaufswagen-Button.
Meine Idee ist jetzt einfach einen meta refresh einzubauen, damit jeder Besucher automatisch einmal die Seite refresht...somit wäre das Problem beseitigt. Im Script selbst will ich lieber nichts ändern. Es soll aber nur einmal ausgeführt werden. Leider hab ich keine guten Kenntnisse im Bereich der programmierung ... könnt Ihr mir da vielleicht weiter helfen ? Dachte an einen Zähler mit einer Schleife im Header ...wenn 0 Refresh und wenn 1 nicht. Funktioniert sowas:


```
<?php
i=0;
if (i==0) {
    header("Location: {$_SERVER[PHP_SELF]}?{$_SERVER[QUERY_STRING]}"); 
    ?>
    <script type="text/javascript">window.document.location.reload();</script>
    <meta http-equiv="refresh" content="0";>
    <?php
}
++i;
?>
```


----------



## saftmeister (3. Juni 2011)

Mal davon abgesehen, das du hier einen uralten Thread ausgegraben hast: Warum ist noch kein Cookie gesetzt, wenn man über Google kommt? setcookie() wie alle anderen Header-Manipulationen sollten bereits am Anfang des Codes (erste Zeilen) getätigt werden.


----------



## Maniac (3. Juni 2011)

Warum erstellst du dann nicht einfach ein Cookie wenn die Seite aufgerufen wurde?

Am besten überprüfen ob das Cookie vorhanden, wenn nicht dann mach die Weiterleitung oder setze es.


----------



## maex78 (3. Juni 2011)

Wieso soll ich keinen alten Thread benutzen  ... sonst wird immer genörgelt, wenn man nicht die Suchfunktion benutzt hat ;-)
Die Seite setzt ein Cookie...aber bei klick auf den Button wird das wohl erst berücksichtigt nachdem der Browser neugeladen wurde. Keine Ahnung wieso das so ist. Ich probier mal ein einen php Schnipsel einzubauen über require_once in Verbindung mit nem Javascript und nem Cookie von mir...mal guckn obs geht.


----------



## maex78 (3. Juni 2011)

Nun hab ich in der index.php mit require_once einen codeschnipsel eingefügt:

```
<?php

$sec = "2";
 
if(!isset($_cookie["fwxxcookie"])) {
header("Refresh: $sec;");
setcookie("fwxxcookie", time()+3600);
}			
?>
```

das cookie wird auch gesetzt aber die seite reloaded trotzdem alle 2 sekunden...weiss jemand wieso ?


----------



## Maniac (3. Juni 2011)

wie wärs mit:

```
$_COOKIE
```


----------



## maex78 (3. Juni 2011)

SAUBER vielen vielen Dank


----------

