[英]Putting the check for if user is logged in or not into an include file in php
我有一个代码来检查用户是否登录,这是代码调用userlog.php
<?php
if (!isset($_SESSION['idx'])) {
if (!isset($_COOKIE['idCookie'])) {
$logOptions = '<a href="register.php">Register Account</a>
|
<a href="login.php">Log In</a>';
echo $logOptions;
}
}
else{//do something }
如果我将此代码包含在所有文件中,则此代码可以正常工作。 当我将文件放入一个单独的文件并将其包含在所有文件中时,它没有正确执行。 所有文件的else条件都不同所以我有如果我在包含文件本身启动else块然后当我结束此文件中的else块(调用index.php)时出现错误
syntax error, unexpected '}' in index.php on line 43
当我把else放在index.php文件中,如果在userlog.php中阻塞,则会发生以下错误
syntax error, unexpected T_ELSE in index.php on line 9
那么如何使用include来管理这种情况呢。
你只是错过了正确的打开和关闭括号。 在您给出的其他块的代码中没有eding。 你已经注释掉了那部分代码。 我正在引用这一行
else{//do something }
创建正确的if-else
块和include,这应该可以解决这个错误。
在像Eclipse这样的IDE中,你可以使用Ctrl + Alt + P快速跳转到匹配的大括号来验证。
inc.php
<?php
$loggedIn = FALSE;
if ( !isset($_SESSION['idx']) ) {
if ( !isset($_COOKIE['idCookie']) ) {
$logOptions = '<a href="register.php">Register Account</a>
|
<a href="login.php">Log In</a>';
echo $logOptions;
}
} else {
$loggedIn = TRUE;
}
?>
的index.php
<?php
require_once('inc.php');
if ( $loggedIn == TRUE ) {
// do your stuff
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.