繁体   English   中英

提交表单后要在表单页面中显示成功消息

[英]After form submission want to show success message in the form page

管理员方面,我将表单提交到admin-post.php。 我想在表格底部打印成功消息。 我在wordpress中是新的,我在下面显示了什么。

admin.php?page = add-products表单代码

<form action="<?php echo admin_url('admin-post.php') ?>" method="post">
                <table>
                <input type="hidden" name="action" value="add_product_from_admin">
                <tr><td>Name</td><td><input type="text" name="pr_name" id="pr_name"></td></tr> 
    <tr><td colspan="2" align="center"><input type="submit" name="pr_submit" id="pr_submit" value="Save Products"></td></tr>
                </table>
            </form>


    add_action( 'admin_post_add_product_from_admin', 'add_product_into_data_base' );



function add_product_into_data_base() {
    //some database operations
wp_redirect(admin_url('admin.php?page=add-products&message=success'));
}

这与其说是WordPress,还不如说是PHP。 如果您不想隐藏表单中的任何内容,或者不想使用Ajax提交/处理表单,则只需检查&message参数是否存在并回显它即可。

顺便说一句,您应该谨慎处理缩进-必须清理掉这些东西。 这将使您的生活更轻松。 这是一个超级基本的示例,除非将&message设置为查询字符串参数,否则将不使用表单:

<form action="<?php echo admin_url('admin-post.php') ?>" method="post">
    <table>
        <input type="hidden" name="action" value="add_product_from_admin">
        <input type="hidden" name="message" value="success">
        <tr>
            <td>Name</td>
            <td><input type="text" name="pr_name" id="pr_name"></td>
        </tr> 
        <tr>
            <td colspan="2" align="center"><input type="submit" name="pr_submit" id="pr_submit" value="Save Products"></td>
        </tr>
    </table>
    <?= isset( $_POST['message'] ) ? $_POST['message'] : ''; ?>
</form>

此代码将检查在页面加载期间(提交表单时)传递的数据中是否存在您隐藏的success操作,并回显“您的消息”。

if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'success' ) {
    echo 'Your Message';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM