使用cookie进行PHP会话验证

时间:2015-02-12 12:25:50

标签: php session 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>

请问有人指引我走向正确的方向吗?

由于

2 个答案:

答案 0 :(得分:1)

将它放在开头的gold.php中:

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

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

答案 1 :(得分:0)

//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");
}