2017-12-11 13 views
-1

I持って次のコード:特定の時間の後にPHPセッションを終了するには?

ページLogin.php

<?PHP 
 
     session_start(); 
 
     include("conexion.php"); 
 
     $conn = conexion(); 
 
     extract($_POST); 
 

 
     $password = md5($pass); 
 
     echo $password; 
 
     $sql1="Select * from miembro where user='".$user."'and pass ='".$password."'"; 
 
     $re= mysqli_query($conn,$sql1); 
 
    \t $numrows1 = mysqli_num_rows($re); 
 
     echo $sql1; 
 
     echo $numrows1; 
 
    \t if ($numrows1==0 or $numrows1>=2){ 
 
     $_SESSION['session'] = "no"; 
 
    \t \t header('Location:' . getenv('HTTP_REFERER')); 
 
    \t }else{ 
 
     $row = mysqli_fetch_array($re); 
 
     $_SESSION['nombre'] = $row["nombre"]; 
 
     echo $_SESSION['nombre']; 
 
     $_SESSION['codigo'] = $row["codigo"]; 
 
     $_SESSION['pass'] = $row["pass"]; 
 
     $_SESSION['apellido'] = $row["apellido"]; 
 
     $_SESSION['telefono'] = $row["telefono"]; 
 
     $_SESSION['user'] = $row["user"]; 
 
     $_SESSION['cargo'] = $row["cargo"]; 
 
     $_SESSION['correo'] = $row["correo"]; 
 
     $_SESSION['session'] = "si"; 
 
     $_SESSION['last_time'] = time(); 
 
     header("Location: ./actions/perfil.php"); 
 
     } 
 
    ?>

そして

<?php 
 
\t include("./menu_actions.php"); 
 
\t include("../conexion.php"); 
 
\t if($_SESSION['session'] != "si"){ 
 
\t \t header("location: ../home.php"); 
 
\t } 
 

 
\t $us = $_SESSION['user']; 
 
    $sql="select * from miembro where user = '$us';"; 
 
    \t echo $sql; 
 
    \t $query = mysqli_query(conexion(),$sql); 
 
    \t $row = mysqli_fetch_array($query); 
 

 
    session_start(); 
 
    if(isset($_SESSION["user"])){ 
 
    if((time() - $_SESSION['last_time']) > 10){ //After 10 sec 
 
    header("location:logout.php"); 
 
    } 
 
    } 
 
    else{ 
 
    header('Location:login.php'); 
 
    } 
 

 
?> 
 
    
 
//HTML
(ユーザーが一度取らログインしている)perfil.php

これは機能しません。理由はわかりません。セッションの開始時間は変数に保存され、後でifループで解析されるため、時間が10秒を超えると、ユーザーは強制的に強制的にログインページに戻りますが、作成できません作業。誰かが私を助けてくれますか?

+1

HTTPSを見てみましょうISSETによって代わりに設定されています.com/questions/520237/how-do-i-expire-a-php-session-after-30分、私はそれが重複かもしれないと思う –

答えて

0

うーん、多分このようにクッキーを設定しよう:// stackoverflowの:

setcookie($cookie_name, $cookie_value, time() + 10, "/"); // 86400 is one day 

かをチェックすると、それは($ _ COOKIE [$ cookie_name])

関連する問題