Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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中的单选按钮获取输入_Php_Html - Fatal编程技术网

无法从PHP中的单选按钮获取输入

无法从PHP中的单选按钮获取输入,php,html,Php,Html,我的HTML代码如下: <form action="installs.php" method="get"> <input type="radio" name="interval" value="weekly">Weekly<br> <input type="radio" name="interval" value="monthly" checked>Monthly<br> </form> 我已经有了另一种形式的按钮和选择

我的HTML代码如下:

<form action="installs.php" method="get">
<input type="radio" name="interval" value="weekly">Weekly<br>
<input type="radio" name="interval" value="monthly" checked>Monthly<br>
</form> 
我已经有了另一种形式的按钮和选择,我正在成功地从中检索输入,我在这里做错了什么

为了回答一些问题,installs.php是我编写本文的单个文件的名称。没有其他称为“间隔”的元素

编辑: 当我试图删除所有其他代码以便发布到这里时,调用堆栈消失了。似乎问题可能在别处?我会在发现问题时更新

编辑2: 对于前面的问题我错了,我已经成功地缩减了代码,问题仍然存在。现在,installs.php的全部内容如下:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="installs.php" method="get">
    <input type="radio" name="interval" value="weekly">Weekly<br>
    <input type="radio" name="interval" value="monthly" checked>Monthly<br>
</form> 
</body>
</html>
<?php
 $temp = $_GET["interval"];
?>

尝试$_请求['interval'];相反,检查变量是否存在:

<form action="installs.php" method="get">
<input type="radio" name="interval" value="weekly">Weekly<br>
<input type="radio" name="interval" value="monthly" checked>Monthly<br>
</form> 

<?php
if ( isset( $_GET["interval"] ) )   // <====================
   $temp = $_GET["interval"];
?>
index.php

<html>
    <form action="installs.php" method="get">
        <input type="radio" name="interval" value="weekly">Weekly<br>
        <input type="radio" name="interval" value="monthly" checked>Monthly<br>
        <input type="submit" name="SEND"> <!-- ADD THIS LINE -->
    </form>
</html>
安装.php:

<?php
    $temp = $_GET["interval"];
    echo $temp;
?>

这在我的Web服务器中运行得很好

我最终得到了相同的未定义索引警告。请不要使用$\u请求。默认情况下,它会被cookies破坏。如果在URL get和表单post中使用参数,则可能会混淆您实际收到的内容。每个表单只提交与该表单相关的数据,而不会提交其他数据。而改为POST仅仅意味着你需要将$\u GET['stuff']更新为$\u POST['stuff']有趣的是,我记得今天以前看到过这个问题!!调试:1在窗体中添加一个隐藏字段,其中的值为“Hello”。在您的脚本的早期2 var_dump$_POST?发送表单时,应该始终看到隐藏字段。你也会看到一个无线领域?我的表格上总是有一个隐藏的字段,你们大多数人也是。见CSRF。在我看来,每个html表单都应该有一个。在表单中添加一个提交按钮。我只是在看你问题中的代码。现在,选择一个单选按钮-它将出现在输入-抱歉-var_dump$\u GET not post中。我忘了有人用$\u GET做表单。嗯,请在表单中始终使用'method=post'。没有人需要看到一个URL的副本和粘贴一个小的电子邮件消息在URL?此外,它被限制在8K左右。不管怎样,您在代码中犯的唯一错误是表单中没有“提交”按钮。在问题的第五条注释中,OP指出与GET相同的print\u r$\u请求的结果是未定义索引。不同的方法,相同的结果。“未定义索引。@马丁,在我的计算机中,它似乎可以工作,不再有未定义索引错误消息。”。如果我删除isset,那么我会再次得到未定义的索引。所以,isset就是解决方案。我认为问题在于应该定义值,所以用IF语句隐藏错误消息本身并不能解决问题。这就是我对问题的解释。@Martin,如果变量未定义,则表示表单尚未提交。该变量在表单提交后存在。if没有隐藏任何错误,if会在提交表单之前和之后检测错误。
<?php
    $temp = $_GET["interval"];
    echo $temp;
?>