2013-09-07 2 views
1

저는 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']) 조건에 있다고 생각합니다. 하지만 전에 그렇게 해버 리라는 것을 깨달을 수있었습니다. 어떤 도움이라도 끝내주게 될 것입니다. 당신이 당신의 로그인 양식을 제출하면

+0

가 왜'조건 안에'으로 session_start()를 갖고 싶어 ...으로 session_start()를 호출해야? –

+0

문제가 다른 페이지가 손상된 것일 수 있습니다. 모든 페이지에서 세션을 시작하지 않는 것 같습니다. – Alfie

+0

'session_start();'는 사용 된 모든 파일의 상단 (대부분의 시간)에 있어야합니다. 사용하지 않으면 코드가 손상됩니다. –

답변

1

코드의 첫 번째 줄 ...

if($_POST['login_submit']){ 

만, 세션이 시작됩니다.

그리고 다른 모든 페이지에, 당신은

+0

도와 줘서 고마워. – Brad

관련 문제