1. 程式人生 > >php保持使用者登陸狀態,退出登陸!

php保持使用者登陸狀態,退出登陸!

1.保持使用者登陸狀態,我用到的是session!需要把html檔案改為php檔案:

當用戶登陸成功的時候,把使用者名稱存到session中,記得要在php頭部寫 session_start();

程式碼如下: (php中)

<?php
session_start();//重要
$userName = !empty($_POST['username']) ? trim($_POST['username']) : '沒有資料';
$password = !empty($_POST['password']) ? trim($_POST['password']) : '沒有資料';

//連結資料庫
$connect = mysqli_connect('127.0.0.1','root','123456','team-project');
if(!$connect) {
    echo '連結資料庫失敗';
    return;
}
mysqli_set_charset($connect , 'utf-8');
$sql = "select userName,password from users where userName = '{$userName}'";
$query = mysqli_query( $connect,$sql);
if(!$query) {
    echo '讀取錯誤';
    return;
}
$row = mysqli_fetch_assoc($query);
    if($row['userName'] == $userName && $row['password'] == $password) {
        $_SESSION['username']  = $userName;  //把username存到session中
        echo 'yes';
    } else {
        echo 'no';
    }
?>

則在其他頁面我們只需要在頭部新增: (html中)

<?php 
    session_start();
    
?>

然後在html中判斷有沒有設定$_SESSION['username'],如果設定了,則顯示出來,如果沒有,則顯示其他的 (html中)

<ul class="header-right fr">
                <li>
                    <?php if(isset($_SESSION['username'])) : ?>
                        <a href="#">歡迎您,<?php echo $_SESSION['username']; ?></a>
                        <a href="exit.php">退出登陸</a>
                    <?php else: ?>
                        <a href="register/index.php">註冊</a>
                        <a href="login/index.php">登陸</a>
                    <?php endif ?>
                </li>
                <li>
                    <a href="#">中文(簡體)</a>
                </li>
                <li>
                    <a href="#"> 400-01-0000</a>
                </li>
                <li>
                    <a href="#">天貓旗艦店</a>
                </li>
            </ul>

其他頁面均是如此

2.退出登陸

<?php
    session_start();
    function loginOut(){
        unset($_SESSION['username']);
        // header('Location : /index.php');
    }
    loginOut();
    echo "<script>window.location.href='index.php'</script>";
?>