头函数中的PHP变量



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

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

你想:

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

你在这个字符串中组合了'",这就是为什么它不能正确插入变量的原因。在上面的例子中,您严格使用"打开字符串,并将变量与字符串连接。

你的引号中有引号。试试这个:

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

urlencode()函数负责url中的所有保留字符。

我要做的是使用http_build_query(),如果你认为你将有一个或两个以上的URL变量。

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

另外,从技术上讲,你不能在location头中使用相对路径。虽然它可以在大多数浏览器上工作,但根据rfc,它是无效的。您应该包含完整的URL。

尝试SESSION存储。页头用于重定向页面。如果你真的想传递值只有通过头,你才会生成url。头(地点:destination.php ?value1 = 1, value2 = 3 ');但这对var来说不是一个好的实践。只需将值存储在SESSION全局变量中。B4 header()重定向调用。@接收页你必须测试,如果会话值isset() n !empty()然后…否则…

在我的情况下,很多时候header()不能正常工作。代替头函数,我使用window.location.href。你可以这样试试,

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

试试这个:

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

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

相关内容

  • 没有找到相关文章

最新更新