Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $\u GET无法使用单选按钮_Php_Forms_Get_Radio Button - Fatal编程技术网

Php $\u GET无法使用单选按钮

Php $\u GET无法使用单选按钮,php,forms,get,radio-button,Php,Forms,Get,Radio Button,有人知道为什么这个代码不起作用吗?我只想打印选中的单选按钮。无论选择什么,它总是打印“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["q1

有人知道为什么这个代码不起作用吗?我只想打印选中的单选按钮。无论选择什么,它总是打印“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;
<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>

您的提交按钮似乎位于
标记之外,它应该位于表单中:

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

小于16
16岁或以上
您总是得到
Null
作为回报,因为您的查询字符串没有附加到任何地方。如果您使用的是AJAX,则需要传递查询字符串数据。由于配置错误,您的循环无法正常工作

以下面的代码为例:

//Get Question 1
if (isset($_GET["q1option"])) 
{
    $q1option = $_GET["q1option"];
} 
else 
{
    $q1option = "Null";
}
使用$\u GET将尝试从查询字符串中提取标记为“q1option”的变量。如果未设置此变量,则返回“Null”。因此,您的代码按照当前的结构按预期工作


如果要在页面之间传递变量,则需要提交表单并自动传递该变量,或者需要修改jQuery以允许在幕后传递和处理变量。处理后,您将相应地处理结果,并根据需要将其呈现给客户端。

运行
var\u dump($\u-GET)
print\r($\u-GET)
以查看\u-GET中的内容是否符合您的预期。您的代码在我的本地服务器上运行得很好。您正在提交表单,对吗?你的url末尾应该有类似的内容
?q1option=16_或更多
关于不推荐使用的函数的标准责骂和警告…@AlexHowansky我使用了var_dump,当我选择了一个选项时,它显示为“Null”。@Jako我实际上没有提交表单。我将在上面添加一些代码,向您展示我正在做的事情。我正在使用AJAX。我知道应该有,但是没有。谢谢你的回复。我还在学习AJAX。我将如何执行您的建议(即传递查询字符串数据)?您的“process\u answers.php”文件实际上做什么?我建议使用$.getJSON()并将变量传递给处理程序文件。然后,处理程序文件将处理传递的变量,验证它们,并向客户端返回响应,在本例中,客户端是包含$.getJSON()的脚本。“process_answers.php”文件将根据问题的答案执行许多mysql查询。有5个问题。我问题顶部的php代码是该文件的内容。很抱歉,你能告诉我怎么做你在之前的评论中提出的建议吗。谢谢你帮我。嗨,罗布,我刚看到你加的那一段。不幸的是,我仍然迷路。你能告诉我必须做什么吗。我是这方面的学生。我想我只是在JavaScript中遗漏了一些东西。php中的代码。。。是否需要将其转换为javascript并放置在现有javascript代码下面?谢谢
<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>
//Get Question 1
if (isset($_GET["q1option"])) 
{
    $q1option = $_GET["q1option"];
} 
else 
{
    $q1option = "Null";
}