我正在尝试使用header函数通过URL传递变量作为重定向页面的方法。但是当页面被重定向时,它会传递实际的变量名而不是与变量相关的值。我是PHP新手,并不完全理解语法,所以任何进一步解释正确的方法将非常感激。
header('location: index.php?id=".$_POST[ac_id]."&err=".$login."');
答案 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']);
如果有效,请告诉我。这只是一个例子。