Wordpress似乎没有正确映射POST数据

时间:2015-12-24 16:53:14

标签: php html wordpress

这是我的问题:

我的wordpress中有一个.php文件,可以执行以下操作:

  • 表格会询问NAME和用户
  • 将数据发布到同一页面(action ="")
  • 如果NAME不为空,则执行某些操作,否则再次询问NAME

以下是代码:

function loginForm(){
echo'
<div id="loginform">
<form action="" method="post">
    <p>Please enter your name to continue:</p>
    <label for="name">Name:</label>
    <input type="text" name="name" id="name" />
    <input type="submit" name="enter" id="enter" value="Enter" />
</form>
</div>
';
}


if(isset($_POST['enter'])){
if(isset($_POST['name']) && $_POST['name'] != ""){
   //do smth
}
else{
        echo '<span class="error">Please type in a name</span>';
    }
}

但问题在于:当我点击而不输入任何名称时,它没关系,它按预期工作:它返回同一页面并显示错误消息。但是,如果我输入任何名称,它将返回我&#34; Page Not Found&#34;,并且POST请求失败(404)

会发生什么事情才会发生这样的事情?

PS:请原谅我可能不好的英语

2 个答案:

答案 0 :(得分:1)

<input type="text" name="name" id="name" />

这将导致wordpress特有的问题,它是一个保留字段名称。 所以改名称。

<input type="text" name="aname" id="name" />

应该没有问题。

答案 1 :(得分:0)

在WordPress中

,您需要指定action。这应该有效:

action="<?php echo get_permalink(); ?>