Reputation: 218
I would like to get the form ID with PHP. This is my HTML code. Each answer per question, has an ID.
<br><br><h3>Vraag 1: Wat is de juiste formule van Arbeid?</h3>
<input type="radio" name="question-1" id="question-1-A" value="2" />
<label for="question-1-A">A) Kracht (in Newton) keer Lengte (in meter) </label>
<input type="radio" name="question-1" id="question-1-B" value="0" />
<label for="question-1-B">B) Kracht keer Massa</label>
<input type="radio" name="question-1" id="question-1-C" value="0" />
<label for="question-1-C">C) Kracht keer valversnelling</label>
<input type="radio" name="question-1" id="question-1-D" value="0" />
<label for="question-1-D">D) Geen van deze antwoorden</label>
So in PHP, I receive the values like this, to calculate the score:
$q1=$_POST['question-1'];
But how can I receive the ID and make it so that
if (*QUESTION-1-A* *IS FILLED IN*)
{
echo "You filled in A"
}
How do I do this?
Upvotes: 0
Views: 1082
Reputation: 59
PHP can only access the values passed using POST/GET so you can't access the input IDs or form IDs. You can however create a hidden element like:
<br><br><h3>Vraag 1: Wat is de juiste formule van Arbeid?</h3>
<input type="radio" name="question-1[]" id="question-1-A" value="2" />
<label for="question-1-A">A) Kracht (in Newton) keer Lengte (in meter)
</label>
<input type="radio" name="question-1[]" id="question-1-B" value="0" />
<input type="hidden" name="question-1_ID[]" value="question-1-B" />
<label for="question-1-B">B) Kracht keer Massa</label>
<input type="radio" name="question-1[]" id="question-1-C" value="0" />
<input type="hidden" name="question-1_ID[]" value="question-1-C"/>
<label for="question-1-C">C) Kracht keer valversnelling</label>
<input type="radio" name="question-1[]" id="question-1-D" value="0" />
<input type="hidden" name="question-1_ID[]" value="question-1-D" />
<label for="question-1-D">D) Geen van deze antwoorden</label>
Now when you post the form you can do:
$questions = ["A","B","C","D"];
foreach($_POST['question-1'] as $index => $response){
if($response!==''){
// then there is something in it.
echo "You filled in Question ".$questions [$index];
}
}
Hope this helps.
Upvotes: 1
Reputation: 943564
You can't. The id
is only available client side.
The value
is designed for what you are trying to do. Use the value
instead.
You'll need to give different answers different value
s. Your current value
s do not make sense.
Upvotes: 2