我试图将汉堡包单选按钮的值存储在$hamburger中,但是它出现时就像它没有被存储并且不会进入hamburger = 'yes',我不知道为什么php和html。
<form id="form" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>" >
<p><input type = 'radio' name = 'Hamburger' value "yes" />yes </p>
<p><input type = 'radio' name = 'Hamburger' value "no" /> no</p>
<input type = "hidden" name = "submit" value = "submit" />
<p><input type="submit" value="submit" name ="submit1 " " /></p>
<?php
if(isset($_POST['Hamburger']))
{
$hamburger = trim($_POST['Hamburger']);
echo $hamburger;
if($hamburger == 'yes')
{
}
</form>
首先,您的两个值都缺少等号
<p><input type = 'radio' name = 'Hamburger' value "yes" />yes </p>
^
<p><input type = 'radio' name = 'Hamburger' value "no" /> no</p>
^
这就是为什么它不能识别它"等于"的东西。
另外,你需要把你的关闭</form>
标签放在PHP上面和HTML里面。
重写:如果您的服务器上启用了错误报告,那么缺少一个右括号}
会抛出一个解析错误。
<form id="form" method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
<p><input type = 'radio' name = 'Hamburger' value = "yes" />yes </p>
<p><input type = 'radio' name = 'Hamburger' value = "no" /> no</p>
<input type = "hidden" name = "submit" value = "submit" />
<p><input type="submit" value="submit" name ="submit1 " " /></p>
</form>
<?php
if(isset($_POST['Hamburger']))
{
$hamburger = trim($_POST['Hamburger']);
echo $hamburger;
if($hamburger == 'yes')
{
// do something
}
} // added the missing closing brace
旁注:
trim($_POST['Hamburger']
中的trim
是多余的,因为它是一个单选而不是文本输入。
将错误报告添加到文件的顶部,这将有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告只应该在登台阶段完成,而不应该在生产阶段完成。'