回显中的PHP提交按钮

时间:2016-10-16 18:51:05

标签: php echo isset

我尝试建立一个小吃机,在那里你可以选择你的小吃,得到价格,然后点击按钮付款。

像: 价格是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";
  }
}

?>

1 个答案:

答案 0 :(得分:1)

  

首先,代码中似乎没有form-tag。没有表单标签,按下该按钮实际上通过PHP提交它将是一个奇迹。换句话说,您需要将表单元素包装在<form></form>标记中。

其次,嵌套的ifif(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";
    }