0

我有一个代码来检查用户是否登录这是调用 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条件都不同,所以我有

syntax error, unexpected '}' in index.php on line 43

当我将 else 放在 index.php 文件中并且 if 在 userlog.php 中阻止时,会发生以下错误

syntax error, unexpected T_ELSE in index.php on line 9 

那么如何使用包含来管理这种情况。

4

2 回答 2

1

您只是缺少正确的打开和关闭大括号。在您给出的代码中,您的 else 块没有编辑。您已经注释掉了那部分代码。我正在引用这条线

else{//do something }

创建正确的if-else块并包含,应该可以解决这个错误。

Ctrl在 Eclipse 之类的 IDE 中,您可以使用++快速Alt跳转到匹配的大括号进行P 验证。

于 2012-09-18T15:34:37.673 回答
1

公司.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;
}
?>

索引.php

<?php
require_once('inc.php');

if ( $loggedIn == TRUE ) {
    // do your stuff
}
?>
于 2012-09-18T15:36:57.120 回答