头函数中的PHP变量

时间:2011-04-26 02:30:38

标签: php syntax urlvariables

我正在尝试使用header函数通过URL传递变量作为重定向页面的方法。但是当页面被重定向时,它会传递实际的变量名而不是与变量相关的值。我是PHP新手,并不完全理解语法,所以任何进一步解释正确的方法将非常感激。

header('location: index.php?id=".$_POST[ac_id]."&err=".$login."');

7 个答案:

答案 0 :(得分:18)

你想:

header("Location: index.php?id=".$_POST['ac_id']."&err=".$login);

您在此字符串中合并'",这就是为什么它无法正确插入变量的原因。在上面的示例中,您使用"严格打开字符串并将变量与字符串连接。

答案 1 :(得分:2)

引号内有引号。试试这个:

header('location: index.php?id=' . urlencode($_POST['ac_id']) . '&err=' . urlencode($login));

urlencode()函数负责处理网址中的所有保留字符。

如果您认为网址中包含多个或两个变量,我会使用http_build_query()

header('Location: index.php?' . http_build_query(array(
    'id' => $_POST['ac_id'],
    'err' => $login
)));

另外,从技术上讲,您无法在位置标题中使用相对路径。虽然它适用于大多数浏览器,但根据RFC无效。您应该包含完整的网址。

答案 2 :(得分:1)

尝试使用SESSION存储。 标头用于重定向页面。 如果你真的想传递价值 通过标题只有你有genrate网址。 头('位置:destination.php? 值1 = 1&安培;值2 = 3' ); 但对于变量而言,这不是一个好习惯。 只在SESSION global var中存储值。 B4 header()重定向调用。 @the recieve page你必须测试,如果会话val isset()n!empty()那么......或者......

希望这会有所帮助。

答案 3 :(得分:0)

就我而言,很多时候 header() 无法正常工作。我使用 window.location.href 而不是 header 函数。 你可以试试这个,

echo "<script> 
            window.location.href='index.php?id=".$_POST[ac_id]."&err=".$login';
      </script>";

答案 4 :(得分:-1)

header('location: index.php?id='.$_POST['ac_id'].'&err='.$login);

答案 5 :(得分:-1)

试试这个:

header("location: index.php?id=$_POST[ac_id]&err=$login");

PHP变量在双引号字符串中扩展。

答案 6 :(得分:-1)

你可以试试这个

header("Location:abc.html?id=".$_POST['id']."id_2=".$var['id_2']);

如果有效,请告诉我。这只是一个例子。