【问题标题】:Forms PHP IF Statement表单 PHP IF 语句
【发布时间】:2010-09-14 13:45:03
【问题描述】:

我有一个 HTML 表单,其中包含用户可以选择的单选按钮,如果他想注册多年以获得折扣。目前,我有一个 PHP if 语句,基本上说 如果用户选择是折扣,计算价格,在表格中显示详细信息,执行 SHA1HASH 转换,然后以隐藏形式显示详细信息(此表单必须发送给我们的付款合作伙伴。

ELSE(如果用户选择否),与上面基本相同,但显然值会有所不同。

我的问题是 HTML 表格和表格必须在 PHP 之外,这意味着当我运行页面时,表格和表格都会出现。有没有办法解决这个问题?

【问题讨论】:

  • 你能提供一些代码吗?

标签: php html forms if-statement


【解决方案1】:

您可以使用 if/else 封装 HTML。

<?php
if($userHasDiscount==true) {
    include 'discounttable.html';
}
else {
    include 'standardtable.html';
}

请注意,您应该遵循 MVC 并采用框架(例如 CodeIgniter)将引导您朝着解决此类问题的正确方向前进。

【讨论】:

  • 这听起来确实是个好方法!只是一个简单的问题 - 假设我将变量插入到这个隐藏表单中,并插入到我的 html 表中 - 我仍然可以这样做吗?
  • ($userHasDiscount==true) 为什么不只是($userHasDiscount)。不用(true/false == true),直接用(true/false)就好了。
  • @TaraWalsh 如果您在表单中插入变量,您将包括discounttable.php 而不是.html。所有变量都将在包含的页面上提供。
  • 感谢亚历克斯和弗兰基。这对我来说似乎是目前最简单的解决方案。
  • @Alex 感谢您指出这一点!为了可读性而这样写,在我的代码中我倾向于采用你的方式。
【解决方案2】:

如果我理解您要正确执行的操作。您想检查表单提交后要显示的 HTML。

<? if (isset($_POST["option"])) { ?>
   <!-- HTML HERE -->
<? } ?>

这将使 if 语句中的 HTML 代码在表单提交之前不会显示。

您所要做的就是将您的 POST 值更改为您的表单控件之一。

【讨论】:

    【解决方案3】:
    <form action=''>
    <input type="radio" value="1" name="radiobutton">YES</input>
    <input type="radio" value="0" name="radiobutton">NO</input>
    </form>
    
    if(isset($_POST['radiobutton'])
     {
        echo 'Value YES'; 
        // your code here
        ?>
    
        <!---- HTML HERE ------>
    
        <!---- END  HTML ------>
    
        <?php
    
     }
    

    确保您的表单具有

     action=''
    

    函数为空,如果你将其留空,它将加载相同的页面。

    【讨论】:

    • 因为我的答案不是答案,这就是为什么。
    • 对不起,问这个问题的人在哪里。
    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多