PHP学习笔记 11 - Session

Session

  • Session 保存用户信息
  • Session 数据是跨网页的
  • 默认情况下,Session 在关闭浏览器时被销毁
  • 通过全局数组变量 $_SESSION 来设置或访问 Session 变量的值
  • PHP会针对访问的每个用户创建一个 Session 并对其进行管理,我们不必操心
  • session_start() 开启 Session
  • session_destory() 关闭 Session

示例

welcome.php


session_start();
?>

"en">

    "UTF-8">
    "viewport" content="width=device-width, initial-scale=1.0">
    "X-UA-Compatible" content="ie=edge">
    欢迎页面


    
    if (isset($_SESSION['userName'])) {
        echo "欢迎回来," . $_SESSION['userName'] . "!
"
; echo "登出"; } else { echo "欢迎,请登录
"
; } ?>

login.php


session_start();
?>

"en">

    "UTF-8">
    "viewport" content="width=device-width, initial-scale=1.0">
    "X-UA-Compatible" content="ie=edge">
    登录页面
    


    
"post" action="./validate.php" onsubmit="return validate_form(this)"> 姓名:"text" name="userName" value="">
验证码:"text" name="captcha" value="" size=10> "点击刷新" id="captchaImg" border="1" src="../captcha/captchaImage.php" onclick="this.src='../captcha/captchaImage.php?r=' + Math.random();">
"submit"/>

validate.php


session_start();  // 开启Session,必须是第一句
?>

"en">

    "UTF-8">
    "viewport" content="width=device-width, initial-scale=1.0">
    验证页面


    
    if (isset($_POST['captcha']) && strcasecmp($_POST['captcha'], $_SESSION['captcha']) == 0) {
        if (isset($_POST['userName'])) {
            $_SESSION['userName'] = $_POST['userName'];
        }
        echo "登录成功!返回欢迎页";
    } else {
        echo "验证码错误!请重新登录";
    }
    ?>

quit.php


session_start();  // 开启Session,必须是第一句
?>

"en">

    "UTF-8">
    "viewport" content="width=device-width, initial-scale=1.0">
    退出登录


    
    session_destroy();
    ?>
    返回"./welcome.php">欢迎页

查看运行结果

关于验证码的实现,请参考 PHP 实现验证码

你可能感兴趣的:(php,session,php,学习笔记)