Maison > développement back-end > Problème PHP > Que faire si la session php ne peut pas être enregistrée

Que faire si la session php ne peut pas être enregistrée

coldplay.xixi
Libérer: 2023-03-04 19:44:01
original
3873 Les gens l'ont consulté

Solution au problème selon lequel la session PHP ne peut pas être enregistrée : 1. Transmettez manuellement la valeur via l'URL et transmettez l'identifiant de session via le formulaire caché 2. Enregistrez [session_id] sous forme de fichier, de base de données, etc., et appelez-le manuellement pendant le processus inter-pages.

Que faire si la session php ne peut pas être enregistrée

Solution pour laquelle la session php ne peut pas être enregistrée :

Utilisez phpinfo pour afficher les informations de la session et connaître le chemin d'enregistrement de la session, puis définissez les autorisations d'écriture pour celui-ci

Si vous ne parvenez pas à résoudre le problème, vous pouvez vous référer à ce qui suit

Laissons maintenant de côté les cookies et utilisons les sessions. méthodes principales :

1 , définissez session.use_trans_sid = 1 dans php.ini ou activez l'option –enable-trans-sid lors de la compilation

permet à PHP de transmettre automatiquement session id entre les pages.

2. Transmettez manuellement la valeur via l'URL et transmettez l'identifiant de session via le formulaire masqué.

3. Enregistrez session_id dans un fichier, une base de données, etc., et appelez-le manuellement pendant le processus inter-pages.

Exemple, un exemple simple de php utilisant la connexion et la sortie de session

Connexion

<?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;]对数据库进行查询,可以做好多好多事情*/
?>
Copier après la connexion

Quitter

<?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);
?>
Copier après la connexion

Recommandations d'apprentissage associées : programmation php (Vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal