Welcher Button wurde gedrückt und mache dann ....

mtk-flo

Erfahrenes Mitglied
kann ich abfragen welcher button gedrückt wurde ( JA / NEIN ) und dann entscheiden, was ich mache ( if-anweisung )?

Möchte Abfragen:

Wollen Sie den Benutzer editieren ?
JA / NEIN

bei ja ... mach den PHP-Code
bei nein ... mach den PHP-Code
 
Jo, natürlich. Gebe den Buttons unterschiedliche Namen, in PHP kannst du dann per
Code:
<?php
if(isset($_REQUEST['nameDesJaButtons']))
  {
    //mach dieses
  }
elseif(isset($_REQUEST['nameDesNeinButtons']))
  {
    //mach was anderes
  }
?>
...darauf reagieren.

Da dies soweit nix mit JS zu tun hat, schieb ichs mal ins PHP-Board.
Sollte sich daraus noch eine JS-Fragestellung entwickeln, kann ichs ja zurückverfrachten :-)
 
Reden wir von <input type="submit" name="edit" value="Ja"> ?
Dann kannst Du ihnen auch denselben Namen geben. Mit folgendem Code kannst du dann das in html gesetzte Value abfragen:
PHP:
if ($_REQUEST['edit']=="Ja") {
    //tu was für Ja
} else if ($_REQUEST['edit']=="Nein") {
    //tu was für Nein
}

Die HTML 4 Spezifikation sagt unter 17.13.2 Successful controls "genau", wann welche Daten übergeben werden. Allerdings war das w3c hier in meinen Augen etwas nachlässig, da das Element <button> nicht definiert wird. Die Browser behandeln es auch prompt unterschiedlich. In dem Fall sollte man ausschließlich die Methode von Sven nehmen oder, wenn man die Spezifikationen ganz genau nimmt, gar nicht erwarten, dass bei <button> eine Variable am Server ankommt, denn das Element wird bei den Successful controls nicht erwähnt.

Gruß hpvw
 
Hallo zusammen,
habe dieses Thema hier im Forum gefunden das für mich von nutzen sein könnte.
Ich würde gerne per Button klick inkrementieren bzw dekrementieren, habe mich auch an die Beiträge gehalten, die hier schon gepostet wurden nur leider funktioniert es nicht bei mir so wie es soll. Anstatt, dass der Zähler bis X höhzählt bzw runterzählt, kommt er beim klick auf den Button immer nur auf 1 oder -1. Könnte es daran liegen, dass ich den POST im selben script anwende anstatt ein neues script dafür zu verwenden?

PHP:
echo '<form action="aue.php" method="POST">';

PHP:
echo '<input type="Submit" name="zurueck" value=" < ">';
echo '<input type="Submit" name="weiter" value=" > ">';

$x=0;

if(isset($_POST['weiter']))
  $x++;

if(isset($_POST['zurueck']))
  $x--;

Vielen Dank im voraus für eure Hilfe.
Gruß Bad Robot
 
iss doch auch logisch... du gibst $x doch schon vor, und zwar solls die 0 sein, laut deinem Script.

Variablen sind grundsätzlich bei erneutem Seitenaufruf NICHT weiter verwendbar, wenn diese nicht per GET oder POST übergeben werden. Dein Script ist demnach leider vollkommen nutzlos ;)

PHP:
if(isset($_POST['weiter'])):
     $zaehler = $_POST['zaehler']+1;
elseif(isset($_POST['zurueck'])):
     $zaehler = $_POST['zaehler']-1;
else: 
	 $zaehler = "1";
endif;

echo '
     <form action="test.php" method="post">
     <input type="hidden" name="zaehler" value="'.$zaehler.'" />
     <input type="Submit" name="zurueck" value=" < ">
     <input type="Submit" name="weiter" value=" > ">
     </form>
'; 
echo $zaehler;
 
Irgendwie müsstest du auch den aktuellen Wert für die Variable $x weitergeben, da sie ja sonst immer davor auf 0 gesetzt wird.

Ungefähr so mein ich das:
PHP:
$x = (emtpy($_POST['xValue'])) ? 0 : $_POST['xValue'];

echo '<input type="hidden" name="xValue" value="'.$x.'">';
 
Zurück