变量总是返回单词“Null”

时间:2013-01-04 02:35:21

标签: php null echo

如果选中“小于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”这个词。

这里有什么问题?

感谢您的帮助。

丹尼尔

2 个答案:

答案 0 :(得分:0)

问题是您没有收到名为GET的{​​{1}}参数。使用调试器检查客户端代码并确保它已被发送。

您可以通过执行以下操作来查看服务器端接收的内容:

q1option

(如果您处于安全的环境中,也可以回复它。)

答案 1 :(得分:0)

第一: 包裹

echo("".$_GET['q1option']);

进入

    if(isset($_GET['q1option'])){
      echo("".$_GET['q1option']);
    }

然后去除通知 如果您的$ _GET没有东西,请确保您使用或提交表单,并且您不会意外地尝试放置两个表单并提交另一个表单;)。整个代码(表单文件+ process_answers.php)在这里会有所帮助,这是肯定的。