在wordpress中访问PHP $ _GET和$ _POST

时间:2017-03-20 16:51:23

标签: php wordpress

在wordpress页面中,我有一个表单,在提交botton的压力之后,重新加载相同的页面,它会发送一封包含表单中信息的电子邮件。问题是,一旦我尝试保存页面,如果在PHP代码中有$ _GET [],$ _ POST []或$ _REQUEST []数组,wordpress不允许我保存更改,并且我写的最后一个代码(带有$ _variables的代码)消失了。如果我创建一个外部PHP脚本并在wordpress页面中调用它,当我连接到页面时会出现“内部服务器错误”。

我尝试了两个不同的php wp插件,我在两者中都有同样的问题。

有谁知道为什么?

编辑: 这是我尝试的代码示例,它是我发现的最简单的示例,它仍然无效:

<?php
function test() {
  echo $_POST["user"]; 
}    

if (isset($_POST[])){ //If it is the first time, it does nothing   
  test();
}
?>

以下是表格:

<form action="" method="post">
            <input type="text" name="user" placeholder="enter a text" />
            <input type="submit" value="submit" onclick="test()" />
</form>

无论如何,就好像wordpress解析器识别变量并拒绝保存,如果我写的,例如,只有以下代码`

<?php
$_GET[];
?>

它给了我同样的问题,但是写了

<?php
$_HELLO[];
?>

虽然我在浏览器中调用页面时返回错误(显然考虑到$ _HELL不存在),但它让我保存。

编辑2:非常奇怪,如果我用

打印所有的帖子数组
`<?php
var_dump($_POST);
?>`

它有效,它打印“array(1){[”user“] =&gt; string(3)”123“}”, 如果我尝试使用关键字“用户”访问元素[]它给我带来错误!

1 个答案:

答案 0 :(得分:0)

$ _ POST和$ _GET也适用于wordpress ..

删除$ _POST上的方括号[],它将起作用。

<form action="" method="post">
        <input type="text" name="user" placeholder="enter a text" />
        <input type="submit" value="submit" onclick="test()" />
</form>

<?php
function test() {
 echo $_POST["user"]; 
}    

if (isset($_POST)){ //If it is the first time, it does nothing   
  test();
}
?>

希望这会对你有所帮助!!