Ik weet eigenlijk niet of het geldige HTML is, maar ken je niet 2 knoppen met zelfde naam maken, en op waarde controleren? Want wat je nu doet werkt idd niet, omdat alle knoppen sowieso geset zijn.
Beide knoppen hebben de name 'submit'. Maar omdat het geen array is, wordt slechts de 2e knop (als ik het goed heb) doorgegeven aan de server. Met
<?php
print_r($_POST);
?>
krijg je te zien welke gegevens er in de array $_POST zitten. Je zult zien dat $_POST['submit'] slechts 1 waarde heeft en niet nog een array bevat. Zet in je html eens het volgende:
name="submit[]"
en er wordt een array aangemaakt.
Uiteraard kun je beide knoppen ook een verschillende naam geven, de meest eenvoudige oplossing.
KlaasJan, ik moet er ook erg op letten, dat weet ik, maar probeer beetje op het probleem te blijven ipv over de rest van de HTML te beginnen.
Frank, je hebt uiteraard weer helemaal gelijk :) Had even niet aan array gedacht. Maar met verschillende namen heb je toch weer dat probleem? Dus lijkt mij de array oplossing de enige werkende. Of heb jij mooie oplossing ervoor?
Zit trouwens even te denken(ja gevaarlijk!), maar hoe werkt dat met die array dan? Want ze zijn allebei geset, dus allebei hebben ze een waarde. Hoe weet je dan welke gebruikt is?
Edit
Heb het even getest, en de waarde die je kiest wordt doorgegeven in $_POST['submit'][0], de andere wordt niet meegenomen.
En in geval van verschillende namen, wordt alleen degene geset die je aanklikt, had ik het even goed mis :)
Bedankt voor jullie reacties. Ik heb geprobeerd wat Willem-Jan heeft gepost. Maar nog steeds helaas hetzelfde verhaal. Druk ik op 1 knop dan worde beide acties uitgevoerd (dit weet ik omdat er bij beide acties een message aan te pas komt en ik bij beide knoppen allebei te zien krijg.
Om het volgende: De buttons staan in HETZELFDE formulier, ze worden wel beiden geset, maar als het goed is wordt er maar bij 1 van beiden een value meegegeven.
Om het volgende: De buttons staan in HETZELFDE formulier, ze worden wel beiden geset, maar als het goed is wordt er maar bij 1 van beiden een value meegegeven.
Ik had hem getest (PHP5), met print_r, maar er kwam echt maar 1 van de 2 knoppen in de $_POST array.
Met de print_r print hij de inhoud toch van de array, wanneer $_POST['array']['waarde'] dan NULL is, print die ook niets, dus je ziet hem niet, terwijl hij wel is geset.
Probeer nu ook eens het volgende in jou scriptje dan:
if(isset($_POST['array']['waarde'])){
$message .= "Waarde 1 is geset";
}
if(isset($_POST['array']['waarde'])){
$message .= "Waarde 2 is geset";
}