繁体   English   中英

将用户是否登录的检查放入php中的包含文件中

[英]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>
&nbsp;&nbsp; | &nbsp;&nbsp; 
<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>
        &nbsp;&nbsp; | &nbsp;&nbsp; 
        <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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM