php会话id重定向
我试图做的是使用php会话id重定向,php,redirect,userid,Php,Redirect,Userid,我试图做的是使用$\u SESSION['user\u id']检查'user\u id'是否=到“number”,比如说56,如果是,加载页面,如果不是,则将用户重定向到“billing/”$\u SESSION['user\u id'..php” 到目前为止,我有这个 <?php if ($_SESSION['user_id']) === 56) { //do nothing } else { header("Location: bi
$\u SESSION['user\u id']
检查'user\u id'
是否=到“number”,比如说56,如果是,加载页面,如果不是,则将用户重定向到“billing/”$\u SESSION['user\u id'..php”代码>
到目前为止,我有这个
<?php
if ($_SESSION['user_id']) === 56) {
//do nothing
} else {
header("Location: billing/".$_SESSION['user_id'].".php");
exit();
}
?>
您已经非常接近了,但是为了更简洁(需要PECL库),您可以使用php函数来代替重定向:
为什么不检查相反的选项?为了可读性,明智的做法是使用{}而不是“.”(只要编辑器突出显示这一点)
这个提供了很多关于如何使用header函数的信息。最重要的是:
- 在调用
header()
之前,请确保没有任何html或文本被回显或发送到浏览器
- 您需要一个
exit()代码>在header()之后(
),因为您已经完成了页面渲染,而且一些浏览器更喜欢它
- HTTP/1.1需要一个绝对URI作为»位置:的参数,包括方案、主机名和绝对路径,因此您需要将完整URL放在“位置:”之后。例如,请参见php文档
不要根据答案编辑问题中的代码。你让人无法理解你在说什么。
如果您想添加内容,请将其添加到原始文本下方
问清楚的、确定的问题。描述你面临的问题以及你需要什么样的解决方案
单独事项。事实上,会话与重定向无关。如果你想知道如何使用会话-询问如何使用会话。如果您已经拥有有效且经过验证的会话变量,但不知道重定向,请询问重定向。如果你不知道如何比较价值观,那就去问吧。若您对代码样式的一些细节了如指掌,但不确定,那个么可以问这个问题
现在,你的问题是什么?添加退出代码>在标题
行之后。除了位置
需要完整的url之外,没有退出在标题
后加上code>,在if
中的['user\u id']
后加上错误的括号。怎么了?我想知道这个的目的…问题是什么?只是想知道每个用户是否有单独的页面???@Gianps可能是一种访问控制形式。从我所看到的来看,PHP atm无效,需要一个PECL库。PHP有什么无效之处?if($\u SESSION['user\u id')==56){
不管是谁投了反对票,想解释一下吗?我想提出这个建议。测试是否为真没有意义,然后只运行是否为假的代码。为了可读性,这是更好的方法。我没有投反对票,但我无法使重定向生效?不管怎样,如果用户id不正确,代码仍然会阻止页面加载。感谢您的支持elp:)
<?php
if ($_SESSION['user_id'] == 56) {
//do nothing
} else {
http_redirect("billing/".$_SESSION['user_id'].".php", array(), true, HTTP_REDIRECT_PERM);
}
?>
<?php
if($_SESSION["user_id"] != 56) {
header("location: billing/{$_SESSION['user_id']}.php");
die();
}
?>