2016-09-05 2 views
0

私は単純なログインを作成し、フォルダの一部のページを保護しようとしています。ユーザがusername/pwdを入力すると、そのページは別のフォルダのindex.phpにリダイレクトされます。PHPセッション値が固まらない

index.phpに、私はログインを検証しようとしています。ここでのコードは、SESSIONパラメータに値があるかどうかをテストすることです。

index.phpにリダイレクトすると、何も表示されません。

login.php

<?php 
    ob_start(); 
    session_start(); 
    if(isset($_GET[redirect_url])) { 
     $_SESSION[redirect] = $_GET[redirect_url]; 
    } 
?> 

<h2>Enter Username and Password</h2> 
     <div class = "container form-signin"> 

     <?php 
      $msg = '';   
      if (isset($_POST["login"]) && !empty($_POST["username"]) && !empty($_POST["password"])) { 
         if ($_POST["username"] == '1234' && $_POST["password"] == '1234') { 
       $_SESSION["login"] = true; 
       $_SESSION["timeout"] = time(); 
           if(isset($_SESSION["redirect"])) { 
            $url = $_SESSION["redirect"] . "/index.php"; 
            header("Location:" . $url); 
            unset($_SESSION["redirect"]); 
            } 
           } 
          else { 
        $msg = "Login Failed!"; 
       } 
      } 
     ?> 
     </div> <!-- /container --> 

     <div class = "container"> 

     <form class = "form-signin" role = "form" 
      action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']); 
      ?>" method = "post"> 
      <h4 class = "form-signin-heading"><?php echo $msg; ?></h4> 
      <input type = "text" class = "form-control" 
       name = "username" placeholder = "username" 
       required autofocus></br> 
      <input type = "password" class = "form-control" 
       name = "password" placeholder = "password" required> 
      <button class = "btn btn-lg btn-primary btn-block" type = "submit" 
       name = "login">Login</button> 
     </form> 

     Click here to clean <a href = "logout.php" tite = "Logout">Session. 

     </div> 

リダイレクトページ:

<?php 
    echo $_SESSION["login"]; 
    echo $_SESSION["timeout"]; 
    exit; ?> 

私は空白の画面を取得します。私はなぜ値の非のは固執しているか分からない。

答えて

1

2番目のページにsession_start();が必要です。

<?php 
    session_start(); 
    echo $_SESSION["login"]; 
    echo $_SESSION["timeout"]; 
    exit; ?> 
関連する問題