PHP传递带头重定向的变量

时间:2012-04-06 20:10:00

标签: php

我试图在标题链接中传递变量。我试过下面的代码

$name = "mike";

if($name != "lopan"){
        header("Location:error-page.php?$errorMssg=Please enter information?");
}

此页面重定向到位置,但不传递包含该消息的变量。但是当我用这样的值创建一个简单的链接时:

<a href="error-page.php?$errorMssg=so what happened there buddy?">link</a>

它传递得很好。

任何想法我做错了什么?或者我不能用标题传递信息?

3 个答案:

答案 0 :(得分:11)

你需要像这样使用urlencode

if($name != "lopan"){
        header("Location:error-page.php?errorMssg=".urlencode("Waoo so your not EVEN going to try to enter information huh?"));
}

在error-page.php中,你应该得到它(不需要urldecode):

<?php
$errorMssg = $_GET['errorMssg'];

答案 1 :(得分:5)

删除$之前的errorMssgurlencode消息。

答案 2 :(得分:1)

可能是因为你有$errorMssg而不是$errorMsg?也尝试制作一个有效的网址,例如用%20等替换“”,函数urlencode()可以帮助你解决这个问题。