php - 如何在 URL 中添加参数以在同一页面上显示不同的内容?
问题描述
我目前正在做一个 WordPress 项目,在其中一个页面上,我在该页面上有一个表单,用于检查用户输入的数据是否在数据库中。在提交时,我想向同一页面的 URL 添加参数(即?page=1)并根据 url 的参数显示不同的内容。
我尝试通过表单的 action 属性添加参数。
<form action="form.php?page=1" method="post" id="orderinfo">
但这会导致以下情况:
与其向当前页面添加参数,不如创建一个新页面。
我是否以正确的方式去做这件事?
谢谢。
解决方案
您可以使用 wordpress template_redirect 挂钩来实现这一点。在您的 functions.php 文件中,您可以添加:
add_action('template_redirect', 'form_proccess');
function form_proccess() {
if( isset($_POST['submit']) ) {
// some validation here
wp_safe_redirect( get_permalink().'?page=1'); exit;
}
}
并在您的表单标签中将操作设置为空字符串或 the_permalink();
page 参数也可能是 wordpress 保留的参数,因此您可能想尝试不同的参数,例如成功,如果验证失败并重定向到错误,则另一个参数用于错误。
希望能帮助到你
推荐阅读
- php - AWS SES 自定义验证电子邮件重定向 URL 没有参数
- php - 从具有正确扩展名的文本响应生成图像
- c# - NLog - System.MethodAccessException 仅在 VMWare Horizon View 客户端中
- apache-spark - 关于 Spark 独立集群缓存内存问题的 Jupyter 笔记本
- scala - Spark UDAF 动态输入模式处理
- sql - 表中的多行具有来自另一个表的值
- java - 我们可以创建抽象类的对象吗?如果不是,为什么?
- google-apps-script - 如何让一个 URL 发送到三个 Google 表单 URL 之一?
- react-native - 它在运行时出现此错误:未定义不是函数(评估'_reactNativr.default.createElement')
- node.js - 从mongodb获取数据时如何使用momentjs格式化时间