会话错误,即使我没有使用那个

时间:2013-06-02 13:25:00

标签: php session pdo

我遇到了问题..我有两个登录表单,他们将使用相同的页面,但它将具有不同的功能,具体取决于您拥有的帐户类型。

反正..

通过查看此代码,您将非常清楚地了解:

<?php
session_start();
if (isset($_SESSION['username']) or $_SESSION['username'] == true) {
?>
<html>
<head>
<title></title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>

<div id="container">

    <div id="content">

        <div class="user_logged">

        <h3>Welcome <h3 class="red"><?php echo $_SESSION['username'];?></h3></h3>
        <a href="profile.php">Profile</a><br/>
        <a href="logout.php">Logout</a><br/>
        <a href="collect.php">Collect/save new ads</a>

        </div>

    </div>

</div>

</body>
</html>
<?php
} elseif (isset($_SESSION['biz_username']) or $_SESSION['biz_username'] == true){
include 'dbc.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>

<div id="container">

    <div id="content">

        <div class="user_logged">

            <h3>Welcome <h3 class="red"><?php echo $_SESSION['biz_username'];?></h3></h3>
            <a href="profile.php">Profile</a><br/>
            <a href="logout.php">Logout</a><br/>
            <a href="collect.php">Create a new ad</a>

        </div>
        <div class="mid_con">
            <h3>New<h3 class="red">Ads</h3></h3>
        <?php
            $n_adsquery = $dbh->prepare("SELECT name, ad_offer, content, expiration_date FROM biz_ads ORDER BY id DESC  LIMIT 0,5");
            $n_adsquery->execute();
            while ($row = $n_adsquery->fetch(PDO::FETCH_NUM)) {
                $name = $row[1];
                $ad_offer = $row[2];
                $content = $row[3];
                $expiration_date = $row[4];
            }

            echo $name;
            echo $ad_offer;
            echo $content;
            echo $expiration_date;
        ?>
        </div>
    </div>

</div>

</body>
</html>


<?php
} else {
    header ('Location: index.php');
}

?>

以“普通”用户身份登录时,没有任何错误或任何错误,它或多或少都是完美的。 但是当通过其他登录表单登录时,它表示“$ _SESSION ['username']未定义,即使我在通过此表单登录时没有使用它。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

我猜测第一行中的问题当你检查$ _SESSION ['username'] = true时你叫$ _SESSION ['username']所以错误信息说“$ _SESSION ['username']是未定义的”

为什么使用它,只需使用它来检查会话是否为真。

if (isset($_SESSION['username']))