PHP:不使用JavaScript的确认对话框?

时间:2016-06-03 09:48:13

标签: php

我有一个非常简单的形式:

<form action="system/web/push.php" method="post">
    <div class="row">
        <div class="col card_input_push card_input_push_language">
            <select name="<?php echo PARAM_PUSH_LANGUAGE; ?>">
                <?php echo get_languages($mysqli); ?>
            </select>
        </div>
    </div>
    <div class="row">
        <div class="col card_input card_input_push">
            <input type="text" name="<?php echo PARAM_PUSH_TITLE; ?>" placeholder="<?php echo $language_array[LV_PUSH_INPUT_TITLE]; ?>"<?php echo set_value(PARAM_PUSH_TITLE); ?>required/>
        </div>
    </div>
    <div class="row">
        <div class="col card_input_push card_input_push_message">
            <textarea name="<?php echo PARAM_PUSH_MESSAGE; ?>" placeholder="<?php echo $language_array[LV_PUSH_INPUT_MESSAGE]; ?>"<?php echo set_value(PARAM_PUSH_MESSAGE); ?>required></textarea>
        </div>
    </div>
    <div class="row">
        <div class="col text-center card_input_push card_button_push_send">
            <button class="btn btn-default" type="submit" name="<?php echo REQUEST_SEND_GCM; ?>" value="<?php echo $language_array[LV_PUSH_INPUT_SEND]; ?>"><?php echo $language_array[LV_PUSH_INPUT_SEND]; ?></button>
        </div>
    </div>
</form>

当我现在按下提交按钮时,我不希望该帖子立即执行。我首先想要一个确认对话框,以显示是或否答案,并且只有当用户说yes我希望执行后期操作时才会显示。

想要的是使用JavaScript。有没有办法做到这一点?

修改

感谢您的回答。为了满足所有受访者我想告诉你,为什么我不想使用JavaScript。答案很简单。我不知道JavaScript。我从来没有使用过它,但我一直在努力的项目(一如既往)必须尽快完成。这是唯一的原因。

3 个答案:

答案 0 :(得分:3)

是的,有一种方法,第一次使用GET(不是POST),在PHP文件中检查是否使用了GET,如果是,则生成一个表单,将确认表单发回给用户。然后使用POST提交确认表格,您就完成了。

 if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    // generate confirmation form
 }elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // process your data
 }

如果有人可以访问一本名为Head First PHP-MySQL的书,他们会在第280页介绍类似的例子。

答案 1 :(得分:1)

也许你可以做这样的事情,用一些css来设计你的对话。

使用以下方式更改表单:

editor.wysiwyg.default=...

如果您提交,则调用此页面,显示带有表单的对话框,当您使用第二个表单提交时,您将发布到所需的php文件。

<form action="this_page">

答案 2 :(得分:1)

您的工作流程是:

  • 收集表单数据
  • 发送至服务器
  • 确认这是用户想要的。
  • 如果是,则处理数据。

如果你想通过php完成所有操作,那么服务器处理满载,所以你需要两个表单,一个用于收集,一个用于确认。并且您将要存储第一个表单的数据,以便您可以根据第二个表单的结果处理它。有点老式但并不困难。