如果在 PHP 中使用 header 而不是通常的 HTML link,则不会显示 ID
ID is not shown if using header in PHP instead of usual HTML link
<a href='page.php?id=$_SESSION[id]'>My page</a>
在这种情况下,它看起来像 page.php?id=11
但是当我想访问另一个页面而不是显示必须由用户单击的 link 时,我得到 page.php?id=$_SESSION[id]
header('Location: http:/page.php?id=$_SESSION[id]');
为什么?怎么改?
如果您使用单引号 '
,则需要从字符串中取出变量。你也应该像这样使用绝对地址;
header('Location: http://www.domain.com/page.php?id=' . $_SESSION['id']);
或者,您可以使用双引号,然后用花括号将变量括起来(因为它是一个数组变量)。
header("Location: http://www.domain.com/page.php?id={$_SESSION['id']}");
只是想我会注意到第二个示例是在字符串中包含变量的首选方法,因为 PHP 编译器只需要在内存中存储一件事,而不是在连接字符串时继续添加分配。
<a href='page.php?id=$_SESSION[id]'>My page</a>
在这种情况下,它看起来像 page.php?id=11
但是当我想访问另一个页面而不是显示必须由用户单击的 link 时,我得到 page.php?id=$_SESSION[id]
header('Location: http:/page.php?id=$_SESSION[id]');
为什么?怎么改?
如果您使用单引号 '
,则需要从字符串中取出变量。你也应该像这样使用绝对地址;
header('Location: http://www.domain.com/page.php?id=' . $_SESSION['id']);
或者,您可以使用双引号,然后用花括号将变量括起来(因为它是一个数组变量)。
header("Location: http://www.domain.com/page.php?id={$_SESSION['id']}");
只是想我会注意到第二个示例是在字符串中包含变量的首选方法,因为 PHP 编译器只需要在内存中存储一件事,而不是在连接字符串时继续添加分配。