有谁知道为什么这段代码不起作用?我只是想打印选择哪个单选按钮。无论选择什么,它总是打印'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');
}
答案 0 :(得分: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>
答案 1 :(得分:0)
您总是得到Null
作为回报,因为您的查询字符串未附加到任何地方。如果您使用的是AJAX,则需要传递查询字符串数据。由于配置错误,您的周期无法正常工作。
请使用以下代码:
//Get Question 1
if (isset($_GET["q1option"]))
{
$q1option = $_GET["q1option"];
}
else
{
$q1option = "Null";
}
使用$ _GET将尝试从查询字符串中提取标记为“q1option”的变量。如果未设置此变量,则返回“Null”。因此,您的代码按照目前的结构正常运行。
如果要在页面之间传递变量,则需要提交表单,变量将自动传递,或者您需要修改jQuery以允许在变量的幕后传递和处理。处理完毕后,您将相应地处理结果并根据需要将它们呈现给客户端。