저는 PHP 프레임 워크를 사용하여 많은 작업을 수행하지만 지금부터는 간단한 로그인 시스템을 구축하고 있습니다. 데이터베이스 쿼리에 PDO를 사용하고 있습니다. $ _SERVER [ 'PHP_SELF']를 사용하여 동일한 페이지를 가리키는 간단한 로그인 양식이 있습니다. 그럼 내가이 코드를 가지고 ...PHP 세션이 자동으로 끝납니다
<?php
//LOG IN
if($_POST['login_submit']){
$username = $_POST['username'];
$password = $_POST['password'];
//Query
$database->query("SELECT * FROM users WHERE username = :username AND password = :password");
$database->bind(':username',$username);
$database->bind(':password',$password);
$rows = $database->resultset();
$count = count($rows);
if($count > 0){
session_start();
//Assign session variables
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['logged_in'] = 1;
} else {
$login_msg[] = 'Sorry, that login does not work';
}
}
로그인 할 때. 세션을 시작합니다. 하지만 다른 페이지로 가면 세션이 끊어집니다. 나는 어쩌면 session_start()가 if ($ _ POST [ 'login_submit']) 조건에 있다고 생각합니다. 하지만 전에 그렇게 해버 리라는 것을 깨달을 수있었습니다. 어떤 도움이라도 끝내주게 될 것입니다. 당신이 당신의 로그인 양식을 제출하면
가 왜'조건 안에'으로 session_start()를 갖고 싶어 ...으로 session_start()를 호출해야? –
문제가 다른 페이지가 손상된 것일 수 있습니다. 모든 페이지에서 세션을 시작하지 않는 것 같습니다. – Alfie
'session_start();'는 사용 된 모든 파일의 상단 (대부분의 시간)에 있어야합니다. 사용하지 않으면 코드가 손상됩니다. –