我有一个非常简单的形式:
<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
。我从来没有使用过它,但我一直在努力的项目(一如既往)必须尽快完成。这是唯一的原因。
答案 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完成所有操作,那么服务器处理满载,所以你需要两个表单,一个用于收集,一个用于确认。并且您将要存储第一个表单的数据,以便您可以根据第二个表单的结果处理它。有点老式但并不困难。