0

このコードが機能しない理由を誰か知っていますか? どのラジオボタンが選択されているかを印刷したいだけです。何を選択しても常に「Null」と表示されます。PHPコードは以下です。

<?php
$conn = mysql_connect('localhost','student','student') or die(mysql_error());
mysql_select_db('vgs',$conn);

//Get Question 1
if (isset($_GET["q1option"])) 
{
    $q1option = $_GET["q1option"];
} 
else 
{
    $q1option = "Null";
}
//Process Question 1
echo "".$q1option;

HTMLコードは以下です。

<form action="" method="get" >
<div id="Q1">
<label><input type="radio" name="q1option" value="Less_than_16" />Less than 16</label><br />
<label><input type="radio" name="q1option" value="16_or_more" />16 or more</label>
</div>

これについての助けをいただければ幸いです。「vgs」データベースに多くのテーブルがあることに注意してください。それが違いを生む場合。

ありがとうございました、

ダニエル

追加コード

以下のHTML

<input type="button" value="Submit" onclick="result();" />
<input type="reset" value="Reset" />
</form>

以下に JavaScript を埋め込みます。http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.jsを使用します

function result()
{
    $('#Suggestion').load('process_answers.php');
}
4

2 に答える 2

1

送信ボタンがタグの外側にあるように見えますが<form>、フォーム内にある必要があります:

<form action="" method="get" >
<div id="Q1">
<label><input type="radio" name="q1option" value="Less_than_16" />Less than 16</label><br />
<label><input type="radio" name="q1option" value="16_or_more" />16 or more</label>
</div>

<input type="submit" value="Submit" />
</form>
于 2013-01-03T15:34:50.377 に答える
0

Nullクエリ文字列がどこにも添付されていないため、常に見返りがあります。AJAXを使用している場合は、クエリ文字列データを渡す必要があります。設定ミスのため、サイクルが正しく機能していません。

次のコードを取ります。

//Get Question 1
if (isset($_GET["q1option"])) 
{
    $q1option = $_GET["q1option"];
} 
else 
{
    $q1option = "Null";
}

$ _GETを使用すると、クエリ文字列から「q1option」というラベルの付いた変数を抽出しようとします。この変数が設定されていない場合は、「Null」を返します。したがって、コードは現在構造化されているとおりに期待どおりに機能しています。

ページ間で変数を渡したい場合は、フォームを送信して変数が自動的に渡されるか、変数の舞台裏で受け渡しと処理ができるようにjQueryを変更する必要があります。処理が完了したら、それに応じて結果を処理し、必要に応じてクライアントにレンダリングします。

于 2013-01-03T15:52:11.613 に答える