Ansicht:   

#371601 Frage zu PHP array_push() (pc.coding)

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:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz