首頁 >後端開發 >PHP問題 >php session無法保存怎麼辦

php session無法保存怎麼辦

coldplay.xixi
coldplay.xixi原創
2020-08-20 09:34:563909瀏覽

php session無法儲存的解決方法:1、手動透過URL傳值、隱藏表單傳遞session id;2、用檔案、資料庫等形式儲存【session_id】,在跨頁過程中手動呼叫。

php session無法保存怎麼辦

php session無法儲存的解決方法:

使用phpinfo查看session訊息,找出session的儲存路徑,然後給其設定寫入的權限即可

如果無法解決可以參考下面

現在我們來拋開cookie使用session,主要途徑有三條:

1 、設定php.ini中的session.use_trans_sid = 1或編譯時開啟開啟了–enable-trans-sid選項,

讓PHP自動跨頁傳遞session id

2、手動透過URL傳值、隱藏表單傳遞session id。

3、用檔案、資料庫等形式儲存session_id,在跨頁過程中手動呼叫。

例子,php利用session登入退出的簡單例子

登入

<?php
//使用会话内存储的变量值之前必须先开启会话
session_start();
//使用一个会话变量检查登录状态
if(isset($_SESSION[&#39;username&#39;])){
    echo &#39;You are Logged as &#39;.$_SESSION[&#39;username&#39;].&#39;<br/>&#39;;
    //点击“Log Out”,则转到logOut页面进行注销
    echo &#39;<a href="logOut.php"> Log Out(&#39;.$_SESSION[&#39;username&#39;].&#39;)</a>&#39;;
}
/**在已登录页面中,可以利用用户的session如$_SESSION[&#39;username&#39;]、
 * $_SESSION[&#39;user_id&#39;]对数据库进行查询,可以做好多好多事情*/
?>

退出

<?php
//即使是注销时,也必须首先开始会话才能访问会话变量
session_start();
//使用一个会话变量检查登录状态
if(isset($_SESSION[&#39;user_id&#39;])){
    //要清除会话变量,将$_SESSION超级全局变量设置为一个空数组
    $_SESSION = array();
    //如果存在一个会话cookie,通过将到期时间设置为之前1个小时从而将其删除
    if(isset($_COOKIE[session_name()])){
        setcookie(session_name(),&#39;&#39;,time()-3600);
    }
    //使用内置session_destroy()函数调用撤销会话
    session_destroy();
}
//location首部使浏览器重定向到另一个页面
$home_url = &#39;logIn.php&#39;;
header(&#39;Location:&#39;.$home_url);
?>

相關學習推薦:php編程(影片)

以上是php session無法保存怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn