<分区>
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,
visit the help center .
关闭 9 年前 。
我的目标是让 IF 状态显示“欢迎,%USERNAME%”,它链接到那个人的帐户设置。如我所见,问题是如果他们未登录则不会显示它。我希望它是“请登录”链接。
<?php
require("common.php");
if (session_start()) {
echo '<p class="right"><a href="/account"><?php echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8'); ?></a>!</p>';
}
else {
echo '<p class="right"><a href="">Please Login</a></p>';
}
我的问题是 IF/Else 不正确...我做错了什么或忘记了什么...?
你的方法是错误的,你需要在页面的最顶部有 session_start()
,而不是像这样使用 session 变量
$_SESSION['is_logged_in'] = false;
现在,当用户登录时将值更改为 true
并在用户注销时再次更改为 false
所以现在你可以设置一个条件
if($_SESSION['is_logged_in'] == true) {
echo 'Welcome';
} else {
echo 'Please login';
}
另一方面,如果用户未使用 header()
登录,您也可以将用户重定向到登录页面
因此,例如,如果您不希望用户看到名为 admin.php
的页面,那么您可以在该页面的最顶部指定条件,如果它为 false,则可以重定向
管理员.php
session_start();
if($_SESSION['is_logged_in'] == false) {
header('Location: login.php');
/* You can replace login.php to whatever page you want your
user to be redirected */
exit;
}