2017-09-14 18 views
0

PHPでフォームIDを取得したいと考えています。 これは私のHTMLコードです。質問内の各回答にはIDがあります。PHP内でHTMLフォーム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> 

のでPHPで、私はスコアを計算するために、このような値を受け取る:

$q1=$_POST['question-1']; 

しかし、どのように、私はIDをreiveし、それがどのように

if (*QUESTION-1-A* *IS FILLED IN*) 
{ 
    echo "You filled in A" 
} 

ようにすることができます私はこれをするのですか?

+0

'value'属性に' id'を渡すことができます –

+1

'id'はクライアント側でしか利用できないので、PHPは動作しません。この方法で 'id'を使って操作する最善の方法は、PHPではなくJavaScriptを使用することです。 – d3r1ck

+1

jqueryを使ってidを取得し、ajax経由でphpに送ってください –

答えて

1

PHPはPOST/GETを使用して渡された値にのみアクセスでき、入力IDまたはフォームIDにアクセスすることはできません。

$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]; 
    } 
} 

・ホープ、このことができます:あなたはあなたが行うことができますフォームを投稿するとき今

<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> 

: ただしなどの隠し要素を作成することができます。

+0

これは、どの答えが選択されても同じ結果を与えます。 – Quentin

+0

必要な変更を行った、ありがとう。 –

+0

これらの変更は役に立たない。チェックされたラジオボタンだけが成功するので、送信されたデータの唯一のインデックスは「0」になります。 – Quentin

2

できません。 idはクライアント側でのみ利用可能です。

valueは、あなたがしようとしているもののために設計されています。代わりにvalueを使用してください。

valueの回答が異なる必要があります。あなたの現在のvalueは意味をなさない。

+0

この場合の彼の値は別の目的を達成するためのものかもしれません:)。 – d3r1ck

+1

@ d3r1ck - その目的はもっと適切なもの(私は 'checked'属性であると推測しています)で達成されるべきです。 – Quentin

+0

これはちょうどこのように動作します。質問の値を合計してスコアを計算する。私はそれも値= 1AとPHP 1A = 2で作ることができますが、なぜダウンボートを取得するのですか? –

関連する問題