2017-01-07 1 views
0

1 일 이후 나도이 PHP 코드에 홈페이지를 사용자 로그인이 :세션 타임 아웃 일

<?php 
    session_start(); 
    $username= $_SESSION['username']; 

    if($_SESSION['username'] == "") 
    { 
     header("Location: http://new_system/"); 
    } 

    require "connection.php"; 

    $result= mysqli_query($conn,"SELECT * FROM users WHERE username = '$username'"); 
    $row = mysqli_fetch_row($result); 
    $firstname = $row[0]; 
    $lastname= $row[1]; 
    $email = $row[2]; 
    $birthday = $row[4]; 
    $gender = $row[5]; 
    $path = $row[8]; 


    ?> 

나는이

$_SESSION["timeout"] = time()+ (0*1*0*0); 

은 그래서 하루 후 로그 아웃 추가 시도했지만 didn를 '일하지 마라, 누가 그 이유를 말해 줄 수 있니? 세션의 if 문 아래에 넣습니다.

+1

'SESSIONS' 만 24분 (1천4백40초) 지속, 당신은 이것 좀 봐, 더 이상'SESSION' 제한 시간을 얻을 수 있도록'PHP.ini' 파일에 설정을 변경해야 자세한 내용은 http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime – Jek

+0

광산을 통해 4 일 동안 로그인 상태로 유지되었으므로 대신 하루 만 보내고 싶었습니다. 4의. @Jek – jasy

+0

http://stackoverflow.com/a/1516283/5782416 여기를 보면'PHP.ini'에 다른 설정이 있다면 브라우저가 닫힐 때까지 계속됩니다. – Jek

답변

0

이 코드를 사용해보십시오.

$inactive = 60*60*24; 
 
if(!isset($_SESSION['timeout'])) 
 
$_SESSION['timeout'] = time() + $inactive; 
 

 
$session_life = time() - $_SESSION['timeout']; 
 

 
if($session_life > $inactive) 
 
{ session_destroy(); header("Location:index.php");  } 
 

 
$_SESSION['timeout']=time();

0

또한 쿠키 시간 제한을 설정했습니다. 쿠키 기본값은 창 세션이므로 브라우저를 닫으면 쿠키가 시간 초과됩니다. session_id가 쿠키에 저장되고 쿠키가 만료되면 세션도 만료됩니다.

1
$_SESSION["timeout"] = time()+ (0*1*0*0); 

는 (0)이 10 분 24 시간 동안 10 * 60

같은 제로 (0)

변경 (하루가 0으로 숫자를 곱 잘못인가) 24 * 60 * 60

$_SESSION["timeout"] = time()+ (24 * 60 * 60); 

하면 그 차이를 볼 밖으로 에코 수