php保持用户登陆状态,退出登陆!

本文详细介绍了如何使用PHP和Session实现用户登录状态保持及退出功能。通过将用户名存储在Session中,确保用户在不同页面间浏览时保持登录状态。同时,提供了退出登录的代码示例,展示了如何清除Session中的用户名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>";
?>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值