我尝试建立一个小吃机,在那里你可以选择你的小吃,得到价格,然后点击按钮付款。
像: 价格是0.60€ 0.05(按钮)0.10(按钮).... 如果按0.05按钮,价格将降至0.55欧元
为什么我没有参加"测试"单击按钮后回显?
这是我的代码
<?php
if(isset($_GET['mars']))
{
$mars = "0,60";
echo "Bitte Zahlen Sie noch <input type=\"button\" value=\"$mars\"> Euro<br>";
echo "<input type=\"submit\" value=\"0,05\" name=\"fcent\">";
if(isset($_GET['fcent']))
{
echo "test";
}
}
?>
答案 0 :(得分:1)
首先,代码中似乎没有form-tag。没有表单标签,按下该按钮实际上通过PHP提交它将是一个奇迹。换句话说,您需要将表单元素包装在
<form></form>
标记中。
其次,嵌套的if
:if(isset($_GET['fcent']))
无法访问,因为当您按下fcent
按钮时;$_GET['mars']
已不在范围内,并且由于您的代码明确要求在$_GET['mars']
为SET时运行,因此不会发生任何事情。以下代码段将此2点考虑在内,您可以进一步微调它以满足您的需求...
注意: 您必须确定您的网址读取与此类似的内容:http://localhost/index.php?mars=some-value
<?php
$mars = "0,60";
$payForm = "<form name='whatever' method='get' action=''><br>";
$payForm .= "Bitte Zahlen Sie noch <input type=\"button\" value=\"$mars\"> Euro<br>";
$payForm .= "<input type=\"submit\" value=\"0,05\" name=\"fcent\">";
$payForm .="</form>";
if(isset($_GET['mars'])){
echo $payForm;
}
if(isset($_GET['fcent'])){
echo $payForm;
echo "test";
}