Lösungen für PHP-Sitzungen, die nicht gespeichert werden können: 1. Übergeben Sie den Wert manuell über die URL und übergeben Sie die Sitzungs-ID in versteckter Form. 2. Speichern Sie [Sitzungs-ID] in einer Datei, Datenbank usw. und rufen Sie sie währenddessen manuell auf Der seitenübergreifende Prozess.
Lösung für eine PHP-Sitzung, die nicht gespeichert werden kann:
Verwenden Sie phpinfo, um die Sitzungsinformationen anzuzeigen, ermitteln Sie den Speicherpfad der Sitzung und legen Sie dann Schreibberechtigungen dafür fest
Wenn Sie das Problem nicht lösen können Problem, Sie können sich auf Folgendes beziehen:
Lassen Sie uns nun Cookies beiseite legen und Sitzungen verwenden. Es gibt drei Hauptmethoden: 1. Setzen Sie in php.ini oder aktivieren Sie die Option session.use_trans_sid = 1
während der Kompilierung, –enable-trans-sid
. session id
, und während des seitenübergreifenden Prozesses manuell aufrufen. session_id
<?php //使用会话内存储的变量值之前必须先开启会话 session_start(); //使用一个会话变量检查登录状态 if(isset($_SESSION['username'])){ echo 'You are Logged as '.$_SESSION['username'].'<br/>'; //点击“Log Out”,则转到logOut页面进行注销 echo '<a href="logOut.php"> Log Out('.$_SESSION['username'].')</a>'; } /**在已登录页面中,可以利用用户的session如$_SESSION['username']、 * $_SESSION['user_id']对数据库进行查询,可以做好多好多事情*/ ?>
<?php //即使是注销时,也必须首先开始会话才能访问会话变量 session_start(); //使用一个会话变量检查登录状态 if(isset($_SESSION['user_id'])){ //要清除会话变量,将$_SESSION超级全局变量设置为一个空数组 $_SESSION = array(); //如果存在一个会话cookie,通过将到期时间设置为之前1个小时从而将其删除 if(isset($_COOKIE[session_name()])){ setcookie(session_name(),'',time()-3600); } //使用内置session_destroy()函数调用撤销会话 session_destroy(); } //location首部使浏览器重定向到另一个页面 $home_url = 'logIn.php'; header('Location:'.$home_url); ?>
Verwandte Lernempfehlungen:php-Programmierung(Video)
Das obige ist der detaillierte Inhalt vonWas tun, wenn die PHP-Sitzung nicht gespeichert werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!