O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

11.5 Mehrfaches Absenden desselben Formulars verhindern

Problem

Sie möchten dafür sorgen, dass Anwender nicht mehrmals dasselbe Formular übersenden.

Lösung

Sie generieren einen eindeutigen Identifikator und speichern das Kennzeichen im Formular als verborgenes Feld. Bevor Sie das Formular verarbeiten, prüfen Sie, ob das Kennzeichen bereits übersandt wurde. Wenn dies nicht der Fall ist, fahren Sie fort; wurde es bereits übersandt, sollten Sie einen Fehler generieren.

Beim Erzeugen des Formulars erhalten Sie mithilfe von uniqid() einen eindeutigen Identifikator:

<?php
$unique_id = uniqid(microtime(),1);
...
?>
<input type="hidden" name="unique_id" value="<?php echo $unique_id; ?>">
</form>

Beim Verarbeiten achten Sie dann auf diese ID:

$unique_id = $dbh->quote($_GET['unique_id']); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required