PHP 使用 cookie 进行会话验证

PHP session validation with cookies

我目前有 2 个页面,一个是登录页面,当登录详细信息正确时,它将用户重定向到黄金页面。但是,您可以通过 URL 访问黄金页面,我只希望它在用户登录时打开。

<?php



?>

<html>
 <head>
  <title>Log-in</title>
 </head>
 <body>
  <p>Please enter your username and password</p>


  <form method="post">
   <input type="integer" name="userID"/>
   <input type="text" name="password"/>
   <input type="submit"/>
  </form>



   <?php




    $i = $_POST["userID"];
    $j = $_POST["password"];
    $gold_cookie = "gold";



     if (isset($i) && $i == "2" && isset($j) && $j=="hi") {


session_start();

$_SESSION['login_user']= $i;


      setcookie($gold_cookie , time()+30) ;


      header("Location:gold.php");


     }

     if (isset($i) && $i != "2" && isset($j) && $j !="hi") {


           echo "Get lost bro!";
     }

     $_SESSION ["first_name"] = "Kevin";
     $name = $_SESSION ["first_name"];




   ?>
 </body>
</html>

html>
 <head>
  <title>Log-in</title>
 </head>
 <body>
  <p>You have made it!</p>


  <p> TAKE SOME GOLD </p>

<img src="http://ei.marketwatch.com//Multimedia/2013/04/19/Photos/MG/MW-BB708_GoldUs_20130419105117_MG.jpg?uuid=9fd4d8c0-a900-11e2-a57c-002128040cf6">

 </body>
</html>

有人能指引我正确的方向吗?

谢谢

把这个放在gold.php开头:

session_start();
if (empty($_SESSION['login_user'])) {
    die('Not authorized');
}

但我建议使用 php 框架。像 SlimPHP 这样带有路由的简单框架,将使这些事情变得更加容易和灵活。

//Add an if statement in your gold page :

if(User is logged in)
{
   //Your gold page code
}
else /**redirect user to the login page*/
{
   header("Location: login_page.php");
}