不使用表单设置POSTvariables

有没有一种方法来设置$_POST['var']而不使用窗体相关的字段(无types='隐藏'),只使用PHP。 就像是

 $_POST['name'] = "Denniss"; 

有没有办法做到这一点?

编辑:有人问我一些这方面的阐述。 所以例如,我有一个表单上的页面,表单看起来像这样

 <form method='post' action='next.php'> <input type='text' name='text' value='' /> <input type='submit' name='submit' value='Submit'/> </form> 

一旦提交button被点击,我想要redirect到next.php。 有没有办法让我设置$ _POST ['文本']variables为另一个值? 我如何使这个持久化,以便当我点击另一个提交button(例如)$ _POST ['文本']将是我在next.php上设置,而不使用隐藏的字段。

让我知道这是否仍然不清楚,谢谢你的帮助。

是的,只需将其设置为另一个值:

 $_POST['text'] = 'another value'; 

这将覆盖对应于数组的text键的以前的值。 $_POST是超全局关联数组 ,您可以像正常的PHP数组那样更改这些值。

警告:此更改仅在相同的PHP执行范围内可见。 一旦执行完成,页面已经加载, $_POST数组被清除。 新的表单提交将生成一个新的$_POST数组。

如果要在表单提交中保留值,则需要将其作为input标记的value属性或从数据存储中检索。

如果你想将$ _POST ['text']设置为另一个值,为什么不使用:

 $_POST['text'] = $var; 

在next.php?

你可以使用ajax或通过发送http头+内容,如:

 POST /xyz.php HTTP/1.1 Host: www.mysite.com User-Agent: Mozilla/4.0 Content-Length: 27 Content-Type: application/x-www-form-urlencoded userid=joe&password=guessme 

你可以使用jQuery来做到这一点。 例:

 <script src="jquery-1.11.2.min.js"></script> <script> $.ajax({ url : "next.php", type: "POST", data : "name=Denniss", success: function(data) { //data - response from server $('#response_div').html(data); } }); </script>