Website - Reloaden ohne Formular neu zu laden?

2 Antworten

Hi,

fragst Du jetzt aus der Sicht, dass Du selbst gerade eine Website schreibst und das verhindern willst?

Wenn ja: Generier doch ein Sessioncookie

Im Formular:

<form action="" method="post">
  <?php
   $rand=rand();
   $_SESSION['rand']=$rand;
  ?>
 <input type="hidden" value="<?php echo $rand; ?>" name="randcheck" />
   Hier ist Dein Formular 
 <input type="submit" name="submitbtn" value="submit" />
</form>

Serverseitig wenn dann Dein Script in der gleichen Datei verarbeitet wird:

if(isset($_POST['submitbtn']) && $_POST['randcheck']==$_SESSION['rand'])
{
    Hier wird nur was gemacht wenn aktuelle Session und übergebene Session identisch sind
}

Alternativ, falls Dir das hier zu aufwändig ist:

Mach ein Redirect, nach dem Dein Formular gesendet wurde

<?php
header("Location: PFAD/DATEI.php");
exit();
?>

Also leitest Du auf eine Seite, die man dann ja problemlos refreshen könnte.

Das verhindert aber nicht den "zuück"-Button

Viel Erfolg wünsche ich Dir

regex9  05.04.2023, 08:56

Der Wert des action-Attributs darf nicht leer sein. Nimm es einfach komplett raus, das Ziel bleibt die Formularseite.

0
Website - Reloaden ohne Formular neu zu laden?

Indem du auf der Ziel URL Sudes Formulars die Daten verarbeitest und dann eine Weiterleitung auf die Bestätigungsseite machst.

Dann wird beim Reload nur diese Seite neu geladen, nicht aber das Formular neu verarbeitet.

Alex