verfaßt von Johann [Gast], 02.10.2014, 16:58:13
Das ist klar, die Seite wird aufgerufen und innerhalb der Seite wird zweimal etwas in das session array gepusht. Immer. Auch ohne absenden des Formulars.
Der Denkfehler: Die PHP Anweisung im umfassenden HTML value='...'. HTML und PHP wissen nichts voneinander.
Es werden schlicht und ergreifend bei jedem Seitenaufruf beide pushes ausgeführt.
Willst Du auf ein abgesendetes Formular reagieren, musst Du das anders machen. Vorzugsweise über ein hidden input, welches dann bei erneutem anstossen der Seite per Formular dann darüber in die PHP Bedingung fällt.
Beispiel Datei "example.php":
<?php
if(isset($_GET['action'])) {
if($_GET['action']=="save") {
... hier deinen push, etc...
}
}
?>
<form method="GET" action="example.php">
<input type="hidden" name="action" value="save"/>
... hier der Rest des Formulars...
</form>
Wenn Du POST verwendest entsprechend auch die if-Bedingungen anpassen.
gesamter Thread: