Cookie 與 Session 跨頁面使用,所以需要的時候,要開啟session
二為數組,因為把相同的存在一起,改天有甚麼購物車就又是另外一組
現在我們要來做一點小更改,把純Cookie的操作變為Session操作,怕大家弄混,所以不只會說哪裡做變更,還有整個檔案都會附上
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>文檔</title>
</head>
<body>
<form action="login.php" method="post">
用戶名:<input type="text" name="name" id=""><br/>
密碼:
<input type="password" name="pwd" id=""><br/>
<input type="submit" value="登錄">
</form>
</body>
</html>
<?php
//手動開啟session
session_start();
if ($_POST['name'] == 'winnie' && $_POST['pwd'] == 'admin') {
$_SESSION['user']['islogin'] = true;
$_SESSION['user']['name'] = $_POST['name'];
$_SESSION['user']['pwd'] = $_POST['pwd'];
//var_dump($_COOKIE);
//登錄成功
echo '<script>alert("登錄成功");location="./index.php"</script>';
} else {
//登錄失敗跳轉註冊頁面
}
<?php
//開啟session
session_start();
echo session_id();
//var_dump($_COOKIE);
//首頁
if(isset($_SESSION['user']['islogin']) && $_SESSION['user']['islogin'] == true){
//已經登錄
echo '親愛的'.$_SESSION['user']['name'].'會員,歡迎您回來<br/>';
echo '<a href="a.php">去a頁面</a><br/>';
echo '<a href="b.php">去b頁面</a><br/>';
echo '<a href="c.php">去c頁面</a><br/>';
}else{
//用戶沒有登錄
echo '對不起,您無權訪問3S後自動跳轉到登錄頁面';
echo '<meta http-equiv="refresh" content="3;url=./login.html">';
}
```
我們實際跑一次可以看到Session_ID,還有在瀏覽器的Session儲存
![](https://i.imgur.com/CFBXBlX.png)
您好 我用ROCKY LINUX + PHP 8,用$SESSION帶值到下個頁面,發現下個頁面是新開一個SID,所以抓不到上個頁面的SID與值,不知道哪邊有改動需要設定?