-2

MySQLテーブルから値を挿入するauth.phpスクリプトがあります$_SESSION['USERNAME']; 。auth.phpのスクリプトは次のとおりです。

<?php
    include("sql.php");
    session_start();

    function Destroy() {
        unset($_SESSION['UID']);
        unset($_SESSION['USERNAME']);
        unset($_SESSION['FULL NAME']);
        header("location: index-restricted.php");
    }

    if(isset($_SESSION['UID']) && isset($_SESSION['USERNAME'])) {
        $UID = $_SESSION['UID'];
        $username = $_SESSION['USERNAME'];
        $qry = mysql_query("SELECT * FROM `users` WHERE `UID` = '$UID' AND `Username` = '$username'");
        if(mysql_num_rows($qry) != 1) { Destroy(); }
    } else { Destroy(); }
?>

私のCMSフロントページであるdashboard.phpがあります。上部にechoを追加する$_SESSION['USERNAME'];と、CMSにログインしているユーザーが表示されるので、sthを実行したいと思います。そのように。(mySQL テーブルに 3 人のユーザーがいることに注意してください: DSaidov、LKatzarov、Admin)

if($_SESSION['USERNAME'] = "DSaidov"{
echo 'Denis Saidov';
}
if($_SESSION['USERNAME'] = "LKatzarov"{
echo 'Lyoubomir Katzarov';
}
if($_SESSION['USERNAME'] = "Admin"{
echo 'George Gerginov';
}

しかし、私が次のことをすると、それは私を見せています: Denis SaidovLyoubomir KatzarovGeorge Gerginov. 問題は auth.php ファイルと、参照されている mySQL テーブルの変数にあると思います。私が言いたいことを理解していただければ幸いです。前もって感謝します。

4

3 に答える 3

2

if 条件と等号演算子を閉じるのを忘れていました

if($_SESSION['USERNAME'] = "DSaidov"{

する必要があります

if($_SESSION['USERNAME'] == "DSaidov"){

他の人も

于 2013-03-21T09:57:59.333 に答える
2

フォローしてみてください

if($_SESSION['USERNAME'] == "DSaidov"){
echo 'Denis Saidov';
}
if($_SESSION['USERNAME'] == "LKatzarov"){
echo 'Lyoubomir Katzarov';
}
if($_SESSION['USERNAME'] == "Admin"){
echo 'George Gerginov';
}
于 2013-03-21T09:58:19.467 に答える
1

これはあなたのタイプミスか、PHP の比較演算子に慣れていないかのどちらかです。

次のようなifステートメントを配置していますif($_SESSION['USERNAME'] = "DSaidov")

$_SESSION 値を何かと比較するのではなく設定しているため、上記は常に当てはまります。

上記を if($_SESSION['USERNAME'] == "DSaidov")(余分な = に注意してください) に変更すると、この問題が修正されます。

さらに明確にする必要がある場合は、以下の比較演算子に関するマニュアルを参照してください。

http://php.net/manual/en/language.operators.comparison.php

完全なコードは次のようになります。

if($_SESSION['USERNAME'] == "DSaidov"){
echo 'Denis Saidov';
}
if($_SESSION['USERNAME'] == "LKatzarov"){
echo 'Lyoubomir Katzarov';
}
if($_SESSION['USERNAME'] == "Admin"){
echo 'George Gerginov';
}
于 2013-03-21T09:59:36.740 に答える