php datei neuladen



  • Hallo,

    ich habe ein Skript mittels JavaScript, welches jede 5 Sekunden eine php-Datei ausführt, mit welchem ich dann z.B. Datenbankabfragen, etc. starten kann.
    Im Firefox klappt es soweit wunderbar, im Opera oder Konqueror allerdings nicht:

    Ich lade z.B. alle 5 Sekunden die php-Datei mit:

    <script language = "JavaScript" type = "text/javascript">window.setInterval ("load_php('include_cfg/set_onlinestatus.php')", 5000);</script>

    die Funktion load_php (src) sieht wie folgt aus:

    function load_php (url)
    {
    skript = document.createElement ('SCRIPT');
    skript.setAttribute ('src',url);
    document.getElementsByTagName ('BODY') [0].appendChild (skript);
    }

    wie gesagt, im FF wird die set_onlinestatus.php alle 5 Sek. korrekt ausgeführt, inklusiver mysql-Abfragen, etc.

    Im z.B. Opera wird die PHP einmal (!) nach 5 Sekunden geladen, danach aber nicht mehr. Jedenfalls scheint es nur so.

    Ich habe testweise eine andere php-Datei zum laden gegeben. Dort wird eine Datenbankabfrage gemacht: Falls ein bestimmter Wert 0 ist, wird ein Sound abgespielt und der Wert wird anschließend auf 1 gesetzt. Wenn man das im FF testet, ertönt dann 1 mal der Sound. Im Opera allerdings jede paar Sekunden. Die Datei wird also im Opera richtig geladen, es scheint aber, als ob er die php-Datei einmal abruft, und die interpretierte html-Datei dann immer regelmäßig aufruft.

    Stimmt das? Wie kann das Problem beheben und wirklich jedesmal die php-datei vom server holt, also neu interpretieren lässt?



  • hallo, habe nun festgestellt, dass es am Cache liegt.

    Das Problem: ich hänge die php-Datei an das eigentliche Dokument ran. wenn ich dort jetzt nochmal neu das HTML-Dokuemnt definierte, also mit den meta-tags, dann wird php-Seite geladen und nicht mehr einfach nur eingefügt. Ich hoffe, man kann mich verstehen. mittels html kann ich also das cachen nicht verhinden.

    ich hatte versucht, immer neue Parameter der URL mitzugeben, aber auch das hat nichts geholfen. Habt ihr noch Ideen?



  • /* php */
    header( "Cache-Control: no-cache, must-revalidate" ); 
    header( "Pragma: no-cache" );
    


  • danke, es klappt!


Anmelden zum Antworten