我试图将汉堡包单选按钮的值存储在$ 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>
答案 0 :(得分:3)
首先,你的两个值都缺少等号
<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
中的 trim($_POST['Hamburger']
是多余的,因为它是广播而不是文字输入。
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告应仅在暂存时完成,而不是生产。\