如果选中“小于16”复选框,则以下代码执行query1;如果选中“16或更多”复选框,则执行query2。这非常有效。
<?php
//error_reporting (E_ALL ^ E_NOTICE);
$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";
}
echo("".$_GET['q1option']);
echo("".$q1option);
//Process Question 1
if ($q1option == "Less than 16")
{
$query1 = "UPDATE free_hours SET times_selected=times_selected+1 WHERE q1option='Less than 16'";
$result1 = mysql_query($query1,$conn) or die(mysql_error());
}
if ($q1option == "16 or more")
{
$query2 = "UPDATE free_hours SET times_selected=times_selected+1 WHERE q1option='16 or more'";
$result2 = mysql_query($query2,$conn) or die(mysql_error());
}
然而,当我回显$ _GET ['q1option']时,我收到以下错误。
“注意:未定义的索引:第16行的C:\ wamp \ www \ Student \ vgs \ process_answers.php中的q1选项”
第16行是这样的:
echo("".$_GET['q1option']);
此外,当我回显$ q1option时,即使选中小于16并且'times_selected'值正在递增,它总是会回显“Null”这个词。
这里有什么问题?
感谢您的帮助。
丹尼尔
答案 0 :(得分:0)
问题是您没有收到名为GET
的{{1}}参数。使用调试器检查客户端代码并确保它已被发送。
您可以通过执行以下操作来查看服务器端接收的内容:
q1option
(如果您处于安全的环境中,也可以回复它。)
答案 1 :(得分:0)
第一: 包裹
echo("".$_GET['q1option']);
进入
if(isset($_GET['q1option'])){
echo("".$_GET['q1option']);
}
然后去除通知 如果您的$ _GET没有东西,请确保您使用或提交表单,并且您不会意外地尝试放置两个表单并提交另一个表单;)。整个代码(表单文件+ process_answers.php)在这里会有所帮助,这是肯定的。