세션 변수가 작동하지 않는 PHP
PHP세션 변수가 작동하지 않는 PHP
다음은 로그인 스크립트가 사용자의 진위 여부를 확인한 다음 헤더 기능을 사용하여받은 편지함 페이지로 리디렉션하는 내 로그인 페이지의 코드입니다.
<?php
session_start();
include_once('config.php');
$user=htmlentities(stripslashes($_POST['username']));
$password=htmlentities(stripslashes($_POST['password']));
// Some query processing on database
if(($id_user_fetched<=$id_max_fetched) && ($id_user_fetched!=0)){
$_SESSION['loggedIn'] = 'yes';
header("Location:http://xyz/inbox.php?u=$id_user_fetched");
//echo 'Login Successful';
}else{
echo 'Invalid Login';
echo'<br /> <a href="index.html">Click here to try again</a>';
}
}else{
echo mysqli_error("Login Credentials Incorrect!");
}
?>
inbox.php 페이지는 다음과 같습니다 :
<?php
session_start();
echo 'SESSION ='.$_SESSION['loggedIn'];
if($_SESSION['loggedIn'] != 'yes'){
echo $message = 'you must log in to see this page.';
//header('location:login.php');
}
//REST OF THE CODE
?>
위의 코드에서 inbox.php는 항상 출력을 보여줍니다 : SESSION =이 페이지를 보려면 로그인해야합니다. 이는 세션 변수가 설정되지 않았거나 inbox.php가 세션 변수를 검색 할 수 없음을 의미합니다. 내가 어디로 잘못 가고 있니?
해결법
-
==============================
1.리디렉션 후 PHP 세션 손실
리디렉션 후 PHP 세션 손실
-
==============================
2.나는 한동안 똑같은 문제를 겪었고 그것을 알아 내는데 어려움을 겪었다. 내 문제는 세션이 제대로 작동하는 동안 사이트를 잠시 동안 작동시킨 다음 모든 것이 갑자기 파열되었다는 것이 었습니다.
나는 한동안 똑같은 문제를 겪었고 그것을 알아 내는데 어려움을 겪었다. 내 문제는 세션이 제대로 작동하는 동안 사이트를 잠시 동안 작동시킨 다음 모든 것이 갑자기 파열되었다는 것이 었습니다.
필자의 session_save_path ()는 / var / lib / php5 /인데 올바른 사용 권한이 있어야합니다 (예 : www-data에 디렉토리에 대한 쓰기 권한이 있어야합니다). 실수로 세션을 변경하여 완전히 변경했습니다.
sudo chmod -R 700 / var / lib / php5 /를 실행 한 다음 sudo chown -R www-data / var / lib / php5 /를 실행하면 php 사용자가 폴더에 액세스 할 수 있습니다.
-
==============================
3.세션 경로가 제대로 작동하지 않는 경우 session.save_path (path / to / any 폴더)를 시도해보십시오. 대체 경로로 기능한다. 작동하는 경우 기본 경로 문제에 대해 호스팅 제공 업체에 문의 할 수 있습니다.
세션 경로가 제대로 작동하지 않는 경우 session.save_path (path / to / any 폴더)를 시도해보십시오. 대체 경로로 기능한다. 작동하는 경우 기본 경로 문제에 대해 호스팅 제공 업체에 문의 할 수 있습니다.
-
==============================
4.연결 스크립트를 사용한다면 session_start ()를 사용하는 것을 잊지 마십시오; 연결에서 너무 그 문제를 알기 전에 약간의 문제가있었습니다.
연결 스크립트를 사용한다면 session_start ()를 사용하는 것을 잊지 마십시오; 연결에서 너무 그 문제를 알기 전에 약간의 문제가있었습니다.
-
==============================
5.방금 호스팅 서비스와 이야기를 나눴습니다. 결국 문제였습니다. 그는 "귀하의 계정 session.save_path가 결과 문제로 설정되지 않았습니다. 지금 귀하를 위해 설정했습니다."라고 말했습니다.
방금 호스팅 서비스와 이야기를 나눴습니다. 결국 문제였습니다. 그는 "귀하의 계정 session.save_path가 결과 문제로 설정되지 않았습니다. 지금 귀하를 위해 설정했습니다."라고 말했습니다.
그리고 그 후 잘 작동합니다 :)
-
==============================
6.세션이 작동하지 않는 또 다른 중요한 이유는 세션 쿠키 설정 (예 : 간단한 실수 또는 다른 개발자의 이유로 세션 쿠키 수명을 0 또는 다른 낮은 값으로 설정합니다.
세션이 작동하지 않는 또 다른 중요한 이유는 세션 쿠키 설정 (예 : 간단한 실수 또는 다른 개발자의 이유로 세션 쿠키 수명을 0 또는 다른 낮은 값으로 설정합니다.
session_set_cookie_params(0)
-
==============================
7.비슷한 문제와 쿠키 도메인이 있습니다.
비슷한 문제와 쿠키 도메인이 있습니다.
ini_set('session.cookie_domain', '.domain.com');
도메인이 잘못 설정되어 사용자 쿠키가 설정되지 않았기 때문에 모든 세션이 무시되었습니다. 이는 누군가에게 도움이되기를 바랍니다.
-
==============================
8.오늘이 문제가 발생했습니다. 이 문제는 $ config [ 'base_url']과 관련이 있습니다. htpp : //www.domain.com과 http://example.com이 문제였습니다. 수정하려면 base_url을 http://www.example.com으로 설정하십시오.
오늘이 문제가 발생했습니다. 이 문제는 $ config [ 'base_url']과 관련이 있습니다. htpp : //www.domain.com과 http://example.com이 문제였습니다. 수정하려면 base_url을 http://www.example.com으로 설정하십시오.
-
==============================
9.또한 문제를 해결하기 위해 다음 단계를 수행 한 동일한 문제에 직면했습니다.
또한 문제를 해결하기 위해 다음 단계를 수행 한 동일한 문제에 직면했습니다.
2 그 후에 방금 아래에 주어진 권한을 변경 * chown root.apache / var / lib / php / session * 그게 전부 야. 위의 단계를 수행하면 문제가 해결됩니다.
from https://stackoverflow.com/questions/19692157/session-variables-not-working-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP에서 클로저는 무엇이며 "사용"식별자를 사용하는 이유는 무엇입니까? (0) | 2018.09.07 |
---|---|
경고 : mysqli_query ()는 매개 변수 1이 mysqli이고, (0) | 2018.09.07 |
cURL을 사용하여 리디렉션되는 위치를 찾으려면 어떻게합니까? (0) | 2018.09.07 |
PHP를 사용하여 MySQL 데이터베이스에서 이미지를 저장하고 검색하려면 어떻게해야합니까? (0) | 2018.09.07 |
다른 프로그래밍 언어로 쉽게 변환 할 수 있도록 코드에서 어떤 유형의 패턴을 적용 할 수 있습니까? [닫은] (0) | 2018.09.07 |