PHP下对session的相关操作

Posted Zeker62

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP下对session的相关操作相关的知识,希望对你有一定的参考价值。

Session

平常访问和使用浏览器的时候很像一个会话:

  • 打开浏览器——开始会话
  • 关闭浏览器——结束会话

但是每次会话都需要有一个记录在服务器端的文件,这就有了session。
session和Cookie很像,但是又有差别:

  • Cookie是数据是特定的,Session则是随机的。
  • Cookie数据存储在客户端,Session数据存储在服务器。
  • Session为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。

打开和关闭session:

  • 使用session_start()开启session,但是session_start() 函数必须位于 <html> 标签之前
  • 使用session_destroy();来取消session,但是在单独的脚本文件不能直接使用,必须先开始然后再取消。
<meta charset="utf-8">
<?php
session_start();
session_destroy();
echo "已注销";
?>

调用 session 变量

使用 PHP $_SESSION 变量
比如:$_SESSION[‘username’]可以获取username的value。

实例代码:

index

<?php
session_start();

?>

<meta charset="utf-8">
<h1>登录界面</h1>



<?php
if(isset($_SESSION['username'])&& $_SESSION['username']=='a'){
    echo "welcome,{$_SESSION['username']},<a href='logout.php'>logout </a>";
}else{
    echo "<a href='login.php'>please login </a>";
}
?>

login

<?php
session_start();
?>
<?php
if (isset($_POST['usersubmit'])) {
    if (isset($_POST['username']) && isset($_POST['userpass']) && $_POST['username'] == "a" && $_POST['userpass'] == "1") {
        $_SESSION['username'] = $_POST['username'];
        echo "Success Login!,<a href='index.php'>BACK</a>";
    }else{
        echo "Error Login,<a href='login.php'>try again</a>";
    }
} else {
    $htm = <<<HTML
<meta charset="utf-8">
<form action="" method="POST">
Username:<input type="text" name="username"></br>
Password:<input type="password" name="userpass"></br>
<input type="submit" name="usersubmit" value="login">
</form>

HTML;
}
echo $htm;
?>

logout

<meta charset="utf-8">
<?php
session_start();
session_destroy();
echo "已注销";
?>

session存放位置

这个位置配置文件再php.ini的1500多行可以修改

直接使用everything搜索UID更方便:

以上是关于PHP下对session的相关操作的主要内容,如果未能解决你的问题,请参考以下文章

C# 网页登录并获取cookie,并在不打开浏览器的情况下对网页进行相关操作。高分求相关代码或指导。

与 php 中的 session_start() 相关

PHP下对Mysql数据库的操作

PHP笔记-laravel中Request和Session相关使用

PHP 之 SESSION 详解

[代码审计]PHP中session的存储方式(WP)