从$ _GET取消分配变量值
我使用;
$referrer = $_GET['_url'];
如果我echo $referrer;
它将正确显示。
如果我在$ _POST中使用$ referrer,它是空的。我认为由于$ referrer被分配给$ _GET。
如何将$ referrer的值提取到另一个变量中,以便它不再分配给$ _GET?
我希望是有道理的..
使用clone
关键字,如在本文中的例子: http://php.net/manual/en/language.references.php
__clone方法调用非对象 – DT85 2011-03-21 07:49:07
$_POST
将只包含数据如果从形式发送。
所以,你的代码基本上是正确的。因为您在URL中使用引荐来源。
如果你真的想从$_POST
$referer
,你就会有这样的代码的东西:
<form method="post" action="somewhere.php">
<input type="hidden" name="_url" value="{place the referrer here}" />
</form>
或者,像@迈克尔吉列的回答,您可以更改与$_REQUEST。
将工作在我的应用程序?这件事真的让我烦恼!我完整的代码:http://www.*.com/questions/5363810/get-and-post-issue – DT85 2011-03-21 08:11:05
你能发表一个你可能喜欢做什么的例子吗?
$referrer = $_REQUEST['_url'];
将返回上都获得真正的和POST请求
谢谢@迈克尔吉列 - 我的完整示例:http://www.*.com/questions/5363810/get - 问题 – DT85 2011-03-21 08:12:02
希望是有道理的..
抱歉,但它不:)
-
$referrer
成为与$_GET['_url']
无关的独特变量。它已经包含从$ _GET提取的值 - $ _GET来源变量与$ _POST冲突没有单一的原因。
你的问题在别的地方。 看来你只是试图访问不存在的变量。因为每个变量在执行后都会与整个PHP一起死亡。
PHP脚本执行是原子的。它不像桌面应用程序一直在你的浏览器中运行,甚至不是持久连接到你的桌面应用程序的恶魔。它更像是一个命令行工具 - 执行它并退出。它运行离散:
- 一个浏览器会调用
- PHP醒来,创建一个HTML页面,将其发送到浏览器和模具
- 浏览器呈现HTML和它显示给用户。
- 用户点击一个链接
- 一个浏览器会调用
- 另一个PHP实例,一无所知以前的号召,唤醒等
所以,如果你设置你的$引用在一个实例中,并试图在另一个实例中访问它,它会失败。你必须重新发送它的价值与下一个电话
@Col。 Shrapnel:我一直在试图找出这个问题2天了..我试图理解为什么$ referrer变空了以及如何解决它.. http://*.com/questions/5363810/get- and-post-issue – DT85 2011-03-21 08:06:31
@ DT85 $ _GET ['_ url']在你的其他问题中显然是空的。你为什么期待它和为了什么? – 2011-03-21 08:12:32
@Col。 Shrapnel:方案:'$ referrer =“1234567”'。好的,当用户在表单中提交他们的电子邮件地址时,'if($ _POST ['email']){',它应该这样做:'$ mysqli-> query(“UPDATE coming_soon_emails SET signup = signup + 1 WHERE code = '“。$ referrer。”'“);'在JS中它应该隐藏表单并显示其他div。在$ if($ _POST ['email']){'之前和之后'$ referrer'不是空的。我需要它,因为如果用户注册,它应该更新引用者的“注册”列(通过在DB中使用$ referrer的查找)并用count +1来表示“他们引用了另一个人”。 – DT85 2011-03-21 08:23:42
你是什么意思与“我使用$ _POST内的$ referrer”? – 2011-03-21 08:04:46
@Col。弹片:我会给你我的例子在你的答案.. – DT85 2011-03-21 08:05:47