Я почти закончил (ну, я думал, что я закончил), написание этой страницы входа в php. Все отлично работает, когда пользователь вводит данные и нажимает кнопку входа.
Но после входа в систему пользователь может использовать кнопки «вперед» и «назад» в браузере для перехода между двумя страницами.
Есть ли способ остановить это? В основном, когда они находятся на странице входа, они не могут пересылать на следующую страницу.
(1-я страница, страница входа.)
<form method="post" action="selectQuery.php">
<table width="768" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="118" height="34">Name:</td>
<td width="650"><select name="username" id="username">
<option value="fredk">Fred</option>
<option value="arbonk">Arbon</option>
<option value="arsalana">Arsalan</option>
<option value="minhn">Minh</option>
<option value="nathanielg">Nathaniel</option>
</select></td>
</tr>
<tr>
<td height="33">Password:</td>
<td><input name="password" type="password" value="password" maxlength="16" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Login" /></td>
</tr>
</table>
</form>
(2-я страница)
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$referer = $_SERVER['HTTP_REFERER'];
#connection to server
$connection = @mysql_connect ( "***.***.**.*" , "****", "*******") or die ("Could not connect to server");
#connection to database
$rs = @mysql_select_db ( "one", $connection ) or die ("Could not connect to Database");
#the sql query
$sql = "SELECT * FROM `users` WHERE user_name = \"$username\" AND password = \"$password\"";
#executing the query
$results = mysql_query( $sql, $connection ) or die ("Could not connect to Database");
#counts the no of rows that much the query
$row = mysql_num_rows($results);
##$rows = count(row);
#checks to see if password field is left blank
#if so it will return the user back to the login page
#if there is a match then we assume that the login is authenticated
if (empty($password) || $row == 0)
{
header( "Location:$referer" ); exit();
}
else
{
if ($username == 'fredk')
{ $fname = 'Fred'; }
else if ($username == 'arbonk')
{ $fname = 'Arbon'; }
else if ($username == 'arsalana')
{ $fname = 'Arsalan'; }
else if ($username == 'minhn')
{ $fname = 'Minh'; }
else if ($username == 'nathanielg')
{ $fname = 'Nathaniel'; }
$msg = "Hi $fname, your login was successfull. <p></p>";
echo($msg);
}
?>
Код на странице 2 должен проверять правильность входа в систему, если все в порядке, у меня есть дополнительный код (форма и другой запрос к базе данных), который становится видимым для пользователя.