neu laden im Browser verhindern

katlina

Mitglied
Hallo zusammen. Ich möchte mich mal wieder mit einem Problem an Euch wenden. Und zwar habe ich ein Script, welches bei jedem Aufruf eine neue Datenbankabfrage macht, und jeweils auch etwas anderes dabei ausgibt. Wenn man nun mit dem "Aktualisieren-Button" das Script immer wieder neu aufrufen würde, würde somit jedes mal etwas anderes ausgegeben werden. Das möchte ich verhindern. Hat jemand eine Idee, wie ich das anstellen könnte ? Noch eine Sache: das Script enthält einen Submit-Button, wenn man den betätigt, wird das Script auch neu aufgerufen, aber das ist ok und so soll es auch im übrigen neu aufgerufen werden. Nur eben nicht über Aktualisieren. Vielleicht ist ja da ein Ansatz. Schonmal danke für Antworten. Viele Grüße.
 
Prüfe doch einfach vor Absetzen der MySQL Abfrage ob das Formular abgeschickt wurde oder nicht.
Angenommen der Submit Button heißt "abschicken".
PHP:
<?php
if(isset($_POST['abschicken']))
{
  # MySQL
}
?>
<!-- Hier der Rest der Seite -->
 
... das dürfte nur etwas bringen, wenn Du nach dem Absenden des Formulars noch eine Weiterleitung ( header("Location: ...") ) ausführst, da der Browser bei einem Reload die POST-Daten erneut mitschickt.

Gruß
.
 
Genau das könnte man ausnutzen, um die erneute sql Abfrage auszulassen. Wenn die Werte bereits gesetzt sind, wird eben nicht noch mal die Datenbank benüht.

Allerdings werden diese POST Daten nicht mehr mitgeschickt, wenn ein force-reload gemacht wird (Shift-Reload). Jedenfalls so weit ich weiss.
 
Stichwort Ajax könnte auch viele Aufgaben lösen :)

Du könntest über Ajax einstellen, was und auch wann neugeladen wird, also z.B Information die man für ein Useronline Script brauchen würde, ohne die komplette Seite neuladen zu müssen. ;)
 
Also das könnte man auch mit einem Hash bwz zufallzahl lösen die sich immer ändert bei jedem absenden des Formular. Kommt 2 mal die gleiche Nummer an weiß man das reloaded wurde (Aktualisiert).

Mfg Splasch
 
Zurück