我有一個「登錄」頁面。當用戶從數據庫中以正確的用戶名和密碼組合登錄時,他們將被引導到另一個頁面('input.html')。當組合錯誤時,他們會得到一個錯誤。可以在不登錄的情況下訪問頁面
如果沒有登錄,我只需更改網址(從「login.php」到「input.html」)的名稱並訪問該頁面即可。我只希望管理員和用戶訪問該頁面,而不僅僅訪問者沒有帳戶。
我的代碼爲我的'login.php'。
<?php
session_start();
$host = "localhost";
$user = "332547";
$pass = "cvEsbduv";
$db = "332547db";
mysql_connect($host, $user, $pass);
mysql_select_db($db);
if (!empty($_POST)) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM inloggen2 WHERE username='".$username."' AND password='".$password."' LIMIT 1";
$res = mysql_query($sql);
if(mysql_num_rows($res) == 1) {
header('location: input.html');
exit();
}else {
echo "Niet goed ingelogd. Keer alstubliefd terug naar de vorige pagina.";
header('location: foumelding.php');
exit();
}
}
?>
<html>
<head>
<title>Inloggen</title>
</head>
<body>
<table border="1">
<tr>
<td align="center">Inlogggen</td>
</tr>
<tr>
<td>
<table>
<form method="post" action="login.php">
Gebruikersnaam: <input type="text" name="username" required/> <br /><br />
Wachtwoord: <input type="password" name="password" required/> <br /><br />
<input type="submit" name="submit" value="Log in" />
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
不要使用mysql嘗試執行mysqli或PDO –
設置一個會話變量。在你希望登錄的每個頁面上訪問用戶,以檢查會話變量是否存在。如果不使用標題重定向它們。 –
您必須檢查用戶是否在** input.html **中進行了身份驗證,您將要更改爲** input.php **。此驗證可以通過會話或cookie完成。 –