加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

通过admin-post.php提交表单并处理错误

发布时间:2022-10-19 15:31:13 所属栏目:PHP教程 来源:未知
导读: 我是否应该只执行常规重定向回我的表单页?类似于wp_redirect( \'/my-page/\', 302 );?

如何在包含表单的页面上显示错误?
有多种方式,包括:
在重定向URL中将错误代码作为查询字符串传

我是否应该只执行常规重定向回我的表单页?类似于wp_redirect( \'/my-page/\', 302 );?

如何在包含表单的页面上显示错误?

有多种方式,包括:

在重定向URL中将错误代码作为查询字符串传递:example.com/my-page/?my_form_error=tos_agree_empty. 然后在表单/模板中,您可以执行以下操作echo $messages[ $_GET[\'my_form_error\'] ]; 哪里$messages 是错误消息的数组。(注意:在实际实现中,您应该清理查询值。)

将错误保存在transient —临时数据库选项。

关于成功,如何用成功消息替换表单?

与上述问题大致相同。因此,您可以:

在重定向URL中包含“成功”状态:example.com/my-page/?my_form_success=1. 然后在表单/模板中,可以执行以下操作if ( ! empty( $_GET[\'my_form_success\'] ) ) { echo \'Success.\'; } else { /* Display the form. */ }.

或者再次使用瞬态API保存(并检索)“成功”状态。

阅读这篇文章,你可能会发现它很有用here 这深入解释了如何使用admin-post.php, 此外,它还谈到了AJAX(admin-ajax.php) 这非常好PHP表单验证,因为提交表单时不需要重新加载页面。但是,您应该使用REST API来创建custom endpoint 用于您的表单提交。:)

因此,我希望这个(新)答案对您有所帮助,您可以看到here 使用瞬态API持久化表单验证错误和提交的数据的示例,这些数据将在从admin-post.php. 我也希望linked answer 帮助,其中给出了使用template_redirect 在同一页面上启动;这个admin_post_ 钩子在管理中的不同页面上激发(wp-admin) 现场一侧。

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!