【问题标题】:PHP version of confirm() of JavaScriptJavaScript 的 confirm() PHP 版本
【发布时间】:2008-11-16 05:26:07
【问题描述】:

是否有 PHP 版本的 JavaScript 的 confirm() 函数?
如果没有,我的其他选择是什么,或者我如何制作类似于 confirm() 的东西?

【问题讨论】:

    标签: php javascript confirm


    【解决方案1】:

    因为 PHP 是一种服务器端语言(所有 PHP 代码都在服务器上执行,并且代码的输出被发送到客户端),所以您必须制作一个带有 OK/Cancel 按钮的 HTML 表单将提交到您的 PHP 页面。像这样的:

    确认.php:

    <p>Are you sure you want to do this?</p>
    
    <form action="page2.php" method="post">
        <input type="submit" name="ok" value="OK" />
        <input type="submit" name="cancel" value="Cancel" />
    </form>
    

    page2.php:

    <?php
    
    if (isset($_POST['ok'])) {
        // They pressed OK
    }
    
    if (isset($_POST['cancel'])) {
        // They pressed Cancel
    }
    
    ?>
    

    【讨论】:

    • type=button 不向服务器发送表单。您应该使用 type=submit。您可以只为两个按钮使用一种形式。
    • 不需要有两个表单块,1 将在按钮之间使用
      ,或者可能将按钮包装在

      标签中(假设您实际上确实需要它们在单独的行中)

    • 好吧,其实我最初确实有一个带有两个按钮的表单,但我不确定它是提交两个按钮的值还是只提交被点击的那个的值。所以既然你们都同意它应该是一种形式,那么我想我担心的应该不是问题。
    【解决方案2】:

    使用上一篇文章中的相同答案,添加一些错误处理和安全性:

    <form action="page2.php" method="post">
       Your choice: <input type="radio" name="choice" value="yes"> Yes <input type="radio" name="choice" value="no" /> No
        <button type="submit">Send</button>
    </form>
    

    在你的 page2.php 中:

    if (isset($_POST['choice']) /* Always check buddy */) {
        switch($_POST['choice']) {
            case 'yes':
                /// Code here
                break;
            case 'no':
                /// Code here
                break;
            default:
                /// Error treatment
                break;
        }
    }
    else {
        // error treatment
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      相关资源
      最近更新 更多