wordpress表单提交和404错误页面
我在wordpress模板页面上有以下表单。每次提交表单时都会出现404错误,但我没有在表单中使用任何保留的workpress参数名称wordpress表单提交和404错误页面,wordpress,Wordpress,我在wordpress模板页面上有以下表单。每次提交表单时都会出现404错误,但我没有在表单中使用任何保留的workpress参数名称 <?php /** * Template Name: Registration Template */ if(isset($_POST['form-submitted'])) { if(trim($_POST['runner']) === '') { $runnerError = 'Please enter runner ru
<?php
/**
* Template Name: Registration Template
*/
if(isset($_POST['form-submitted']))
{
if(trim($_POST['runner']) === '') {
$runnerError = 'Please enter runner runner.';
$hasError = true;
} else {
$runner = trim($_POST['runner']);
}
if(trim($_POST['racenumber']) === '') {
$numberError = 'Please enter a race number.';
$hasError = true;
} else {
$racenumber = trim($_POST['racenumber']);
}
$race = trim($_POST['race']);
error_log($race.' '.$runner.' '.$racenumber);
$registrationSubmitted = true;
}
get_header();
echo "<pre>GET "; print_r($_GET); echo "</pre>";
echo "<pre>POST "; print_r($_POST); echo "</pre>";
?>
<div id="container">
<?php
if(isset($registrationSubmitted) && $registrationSubmitted == true)
{
echo '<div class="thanks"><p>The runner has been registered.</p></div>';
}
else
{
$races = // magic array
$selectRaces = '<select name="race" id="race">';
foreach($races as $racez)
{
$selectRaces .= sprintf('<option value=%d>%s</option>',$race->id,$race->name);
}
$selectRaces .= '</select>';
echo apply_filters('the_content','
<form action="'.get_permalink().'" id="form" method="POST">
[one_half last="no"]
<b>Race Details</b><br/>
RaceNumber<input type="text" name="racenumber" id="racenumber"/><br/>
Race'.$selectRaces.'<br/>
[/one_half]
[one_half last="yes"]
<b>Runner Details</b><br/>
ID<input type="text" name="runner" id="runner"/><br/>
Firstname<input type="text" name="first" id="first"/><br/>
Surname<input type="text" name="last" id="last"/><br/>
Gender<input type="text" name="gender" id="gender"/><br/>
DOB<input type="text" name="dob" id="dob"/><br/>
Standard<input type="text" name="standard" id="standard"/><br/>
Company<input type="text" name="company" id="company"/><br/>
[/one_half]
<input type="submit" value="Register Runner"/>
<input type="hidden" name="form-submitted" id="bhaa-submitted" value="true" />
</form>');
}
echo '</div>';
?>
<?php get_footer(); ?>
谁能解释一下我的“isset($_POST['form-submitted'])”中的逻辑没有被执行
生成的html
<form action="'.get_permalink().'" id="form" method="POST">
[one_half last="no"]
<b>Race Details</b><br/>
RaceNumber<input type="text" name="racenumber" id="racenumber"/><br/>
Race'.$selectRaces.'<br/>
[/one_half]
[one_half last="yes"]
<b>Runner Details</b><br/>
ID<input type="text" name="runner_id" id="runner_id"/><br/>
Firstname<input type="text" name="runner_first" id="runner_first"/><br/>
Surname<input type="text" name="runner_last" id="runner_last"/><br/>
Gender<input type="text" name="runner_gender" id="runner_gender"/><br/>
DOB<input type="text" name="runner_dob" id="runner_dob"/><br/>
Standard<input type="text" name="runner_standard" id="runner_standard"/><br/>
Company<input type="text" name="runner_company" id="runner_company"/><br/>
[/one_half]
<input type="submit" value="Register Runner"/>
<input type="hidden" name="form-submitted" id="bhaa-submitted" value="true" />
</form>
比赛详情
车号
种族
4英里米
西2英里
编辑
我已经更改了代码,其中设置了select下拉列表的值,以使用递增的int值,而不是使用sprintf将字符串值映射为int值。当选择第一个元素时,表单将提交,如果选择第二个选项,我将得到404
$races=//魔法数组
$selectRaces='';
$i=0;
foreach($racez)
{
$selectRaces.=sprintf('%s',$i++,$race->name);
}
您是否尝试过重置永久链接?
可能是某个地方的问题。
问题似乎或看起来都不是isset($\u POST['form-submitted'])”
您的页面名称可能正被另一个插件使用。WordPress的
get\u permalink()
正在生成一个URL,该URL将被注入到输出HTML的表单标记中
如果查看浏览器中显示的HTML源代码(如右键单击、查看源代码或右键单击、检查元素),请找到以下内容:
我希望这个URL可能与您当前浏览的URL相同。。。ie告诉浏览器将详细信息发送回同一个PHP文件以处理其结果。问题是WordPress保留了一些单词,在提交表单时会抛出该错误: 我在网上发现的一些词是:
- 自定义帖子类型名称
- 分类名称
- “姓名”
- “一天”
- “月”
- “年”
- “类别”
- “标题”
因此,在创建自定义表单时要小心,并尝试使用前缀命名输入。在我的例子中,我有一个名为“history”的自定义帖子类型,我用相同的方式命名输入。键入唯一的名称,然后我尝试使用此表单
[one_half last=“no”]
比赛详情
消旋号码
比赛“$selectRaces”。
[一半]
[one_half last=“yes”]
跑步者详细信息
ID
名字
姓氏
性别
DOB
标准
公司
[一半]
您不能在POST表单中使用此变量
_现在
_页面
_每页
_注册表格
_总数
_网址
_wp_http_referer
_wp_原始_http_参考
_wp_未过滤_html_注释
_WPONCE
_WPONCE自定义头上载
aa
行动
行动2
主动后锁
新增
添加新用户
阿德梅塔
管理酒吧前
行政色彩
管理员电子邮件
管理员密码
管理员密码2
AJAX
排列
所有博客
诱惑者
中高音
批准你的父母
经核准的
附件
附件(i)
附件
auth_cookie
作者
作者姓名
自动完成类型
自动拔模
自动添加页面
自动保存
背景附件
背景色
背景位置x
背景重复
禁止的\u电子邮件\u域
博客
博客名称
博客公开
博客上传空间
博客名
批量编辑
c
日历
猫
类别库
类别名称
猫头鹰
换
变化
字符集
复选框
选中的
清除最近的列表
关闭
评论
已批准的意见
评论作者
评论\u作者\u电子邮件
注释\u作者\u url
评论内容
评论日期
注释\u ID
家长意见
评论帖子ID
评论快捷方式
评论你的状态
对清单的评论
评论弹出窗口
确认删除
连接类型
内容
上下文
注册会计师
创建新附件
createuser
自定义\u messenger\u频道
定制的
自定义链接选项卡
日期
日期格式
日期\格式\自定义
白天
默认标题
删除
全部删除
全部删除2
删除您的评论
删除选项
删除标签
删除小部件
删除书签
删除注释
删除
删除元
删除邮件
描述
独立的
解雇
显示名称
做
编辑日期
电子邮件
错误
准确的
摘录
特征
喂养
取来
重量
文件
fileupload_maxk
滤波器
找到你
第一条评论
第一个作者
第一个\u注释\u url
名字
第一页
第一站
找到\u post\u id
第四节
全局\u术语\u已启用
全球的
gmt\U偏移量
指南
高度
嗯
隐藏的
隐藏的
隐藏的
隐藏的
隐藏的
隐藏的
历史
主机名
小时
html上传
身份证
身份证件
身份证
id_基地
非法名称
插入图库
插入式按钮
临时登录
项目对象
项目类型
jj
json
json_数据
钥匙
姓
有限的电子邮件域
链接id
链接图像
链接名称
链接
链接地址
链接u可见
链接检查
场所
锁定
日志
已登录\u cookie
m
媒体
媒体类型
菜单
菜单项
菜单项
菜单项属性标题
菜单项类
菜单项db id
菜单项说明
菜单项对象
菜单项对象id
菜单项父id
菜单项位置
菜单项目标
菜单项标题
菜单项类型
菜单项url
菜单项xfn
菜单位置
菜单名
消息
元
元键输入
metakeyselect
元价值
分钟
嗯
锰
模式
蒙特纳姆
更多
移动
多重数
名字
导航菜单位置
新的
新角色
新鼻涕虫
新书名
新猫
新进作家
新成员\作者\电子邮件
新成员\u作者\u url
新内容
新用户
昵称
无占位符
诺阿皮
不确认
诺雷迪尔
数
抵消
奥塔尔
选项
选项页
秩序
订货人
p
PB
页
页码和列
页码号
页面选项
寻呼
pagegen_时间戳
页面名称
家长id
通行证1
pass2
密码
permalink_结构
照片描述
照片(src)
菲佩罗
平安状态
插件
插件状态
指针
位置
邮递
邮政署类别
后期数据
post_格式
邮政编码
邮政编码
后置mime类型
post_密码
产后状态
职位
后置式
后视图
张贴
帖子
预览
小学博客
私钥
附言
公钥
出版
pwd
质疑<
<form action="http://localhost/registration/" id="form" method="POST">
<div class="one_half">
<b>Race Details</b><br><br>
RaceNumber<input name="number" id="number" type="text"><br><br>
Race<br>
<select name="race" id="race">
<option value="2596" id="2596">4-Mile-M</option>
<option value="2595" id="2595">2-Mile-W</option>
</select>
$races = // magic array
$selectRaces = '<select name="race" id="race">';
$i=0;
foreach($races as $racez)
{
$selectRaces .= sprintf('<option value=%d>%s</option>',$i++,$race->name);
}
<form action="'.get_permalink().'" id="form" method="POST">
[one_half last="no"]
<b>Race Details</b><br/>
RaceNumber<input type="text" name="racenumber" id="racenumber"/><br/>
Race'.$selectRaces.'<br/>
[/one_half]
[one_half last="yes"]
<b>Runner Details</b><br/>
ID<input type="text" name="runner_id" id="runner_id"/><br/>
Firstname<input type="text" name="runner_first" id="runner_first"/><br/>
Surname<input type="text" name="runner_last" id="runner_last"/><br/>
Gender<input type="text" name="runner_gender" id="runner_gender"/><br/>
DOB<input type="text" name="runner_dob" id="runner_dob"/><br/>
Standard<input type="text" name="runner_standard" id="runner_standard"/><br/>
Company<input type="text" name="runner_company" id="runner_company"/><br/>
[/one_half]
<input type="submit" value="Register Runner"/>
<input type="hidden" name="form-submitted" id="bhaa-submitted" value="true" />
</form>