目前我工作的一個小項目的虛擬登錄/註冊頁面,現在我想添加一個頁面時,你已經登錄,這只是訪問。 所以問題是我如何創建會話或cookie並檢索它們? 以及如何阻止未登錄的用戶。如何使頁面才能訪問在PHP登錄時
我目前使用這些代碼的login.php中和member_area.php: 的login.php:
<?php
session_start();
if(isSet($_POST['login'])) {
include('db.php');
$username = mysql_real_escape_string($_POST['username']);
$password = sha1($_POST['password']);
$query = mysql_query("SELECT * FROM tab WHERE username='".addSlashes($username)."' AND password='".addSlashes($password)."'");
$res = mysql_num_rows($query);
if ($res == 1) {
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['userobj'] = mysql_fetch_assoc($query);
header('Location: http://localhost/member_area.php');
exit;
} else {
echo 'Data does not match <br /> RE-Enter Username and Password';
}
} else {
?>
<html>
<head><link rel="stylesheet" type="text/css" href="css.css"></head>
<body>
<div id="div1">
<a href="index.php" id="home">Home</a>
<a href="Login.php" id="login2">Login</a>
<a href="register.php" id="register">Register</a>
</div>
<table width="200" border="0" cellspacing="1" align="center">
<form id="form1" method="post" action="login.php">
<tr>
<td colspan="2"><h2>Members login</h2></td>
</tr>
<tr>
<td>Username: </td>
<td>
<input type="text" name="username" id="username"/>
</td>
</tr>
<tr>
<td>Password: </td>
<td><input type="password" name="password" id="password"/> </td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="login" id="login" value="login" />
</td>
</tr>
</form>
</table>
</body>
</html>
<?php
}
?>
Member_area.php:
<?php
?>
<html>
<head><link rel="stylesheet" type="text/css" href="css.css"></head>
<body>
<div id="div1">
<a href="index.php" id="home">Home</a>
<a href="Login.php" id="login2">Login</a>
<a href="register.php" id="register">Register</a>
</div>
<form action="/Log_out.php" method="get">
<input type="submit" name="submit" value="Log Out." action="http://localhost/Log_out.php" id="Logout">
</form>
</body>
</html>
<?php
?>
請注意,我對於PHP來說是全新的,所以如果可能的話,在一些方向上放置代碼。
請解釋-1 – 2013-02-26 12:02:18
那麼它是某種工作,但即使我登錄登錄頁面會重定向我回頁面。是否有可能需要在登錄頁面開始會話?或者有可能會話被破壞了一些? 編輯:會話沒有啓動固定它。 – 2013-02-26 12:05:01
我編輯的代碼現在嘗試,接着說:在session_start();'在頂部 – 2013-02-26 12:06:36