0

私はこのチュートリアルに従っています: http://www.youtube.com/watch?v=mn0ucCuNOTI .

間違っている部分は、次のコードでログインしたフォームを作成し、そのコードが機能しているように見えることです。

<?php include_once("db.php"); 
session_start();
?>
<?php
    $user = $_POST['name'];
    $pass = $_POST['pwd'];

     $sql="SELECT count(*) from phplogin WHERE(username='$user' and password='$pass')";

    $query = mysql_query($sql);

    $result = mysql_fetch_array($query);

    if($result[0]>0){
    $_SESSION['username']=$user;
    echo "Successful login!";

    echo "<br /> Welcome " .$_SESSION['username']. "!";
    echo "<br /><a href='signupform.php' > SignUp </a>";
    echo "<br /><a href='signinform.php' > SignIn </a>";
    echo "<br /><a href='logout.php' > LogOut </a>";
    }
    else{
    echo "Login failed!";
    echo "<br /><a href='signupform.php' > SignUp </a>";
    echo "<br /><a href='signinform.php' > SignIn </a>";
    }
?>

そのページには、ログアウトできるリンクがあり (サインインしている場合)、そのリンクをクリックすると、次のコードに到達します。

<?php
include_once("db.php");
?>
<?php
    session_start(); #starts the session        

    session_unset(); #removes all variables in the session

    session_destroy(); # destroys the session

    if(!$_SESSION['username'])
        echo "Succesfully logged out";  

    else
        echo "Error occurred";  

    ?>

次に、ローカルホストで実行すると、次の出力が得られます。 Notice: Undefined index: username in C:\webserver\apache\htdocs\sign_in_up\logout.php on line 12

ログアウトしました

4

3 に答える 3

0

$_SESSION['username'] は存在しません。その変数名が正しいかどうか、つまり UserName userName などではないかどうかを確認してください...

于 2013-08-22T13:49:49.423 に答える
0

それ以外の

if(!$_SESSION['ユーザー名'])

試す

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

于 2014-08-19T21:08:29.623 に答える