>  기사  >  백엔드 개발  >  PHP 세션을 저장할 수 없는 경우 어떻게 해야 합니까?

PHP 세션을 저장할 수 없는 경우 어떻게 해야 합니까?

coldplay.xixi
coldplay.xixi원래의
2020-08-20 09:34:563864검색

저장할 수 없는 PHP 세션에 대한 해결 방법: 1. URL을 통해 수동으로 값을 전달하고 숨겨진 형식으로 세션 ID를 전달합니다. 2. [session_id]를 파일, 데이터베이스 등에 저장하고 실행 중에 수동으로 호출합니다. 페이지 간 프로세스.

PHP 세션을 저장할 수 없는 경우 어떻게 해야 합니까?

저장할 수 없는 PHP 세션에 대한 해결 방법:

phpinfo를 사용하여 세션 정보를 보고, 세션의 저장 경로를 알아낸 다음 해당 세션에 대한 쓰기 권한을 설정하세요.

해결할 수 없는 경우 문제는 다음을 참조하세요

이제 쿠키를 따로 두고 세션을 사용해 보겠습니다. 세 가지 주요 방법이 있습니다:

1. php.ini에서 session.use_trans_sid = 1을 설정하거나 –enable-trans 컴파일 중 -sid 옵션, session.use_trans_sid = 1或者编译时打开打开了–enable-trans-sid选项,

让PHP自动跨页传递session id

2、手动通过URL传值、隐藏表单传递session id。

3、用文件、数据库等形式保存session_id

을 사용하면 PHP가 페이지 간에 세션 ID를 자동으로 전달할 수 있습니다.

2. URL을 통해 값을 수동으로 전달하고 숨겨진 양식을 통해 세션 ID를 전달합니다.

3. session_id를 파일, 데이터베이스 등에 저장하고 페이지 간 프로세스 중에 수동으로 호출하세요.

예: 세션 로그인 및 종료를 사용하는 PHP의 간단한 예

Login

<?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;]对数据库进行查询,可以做好多好多事情*/
?>
Exit
<?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 세션을 저장할 수 없는 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.