Jeg har i "Professional PHP4" isbn 1-861006-91-8 været ved at se på den
kode, der skal til for at jeg fra login.php kan blive omdirigeret til
search.php Der skal indtastes password og username, som bliver tjekket i
MySQL tabllen, og er det korrekt indtastet bliver man videre dirigeret til
search.php. Den kode, som bogen skriver skal være på login.php, er vist
nedenunder. Det som undrer mig er, at der ikke skal noget kode i filen
search.php for indtaster jeg den direkte URL adresse til search.php kan jeg
vel komme ind på siden udenom login ? Er der nogen i NG der kan fortælle
mig, om dr mangler noget i koden ?
Søren
Koden i <body> til login.php:
<center><h3><b>Sikker log in</b></h3></center>
<?php if (isset($success) && !$success): ?>
<div style="color: #cc0000"><b>Login failure!</b></div>
<?php endif; ?>
<form action="login.php" method POST">
username: <input name="username" type="text"><br>
password: <input name="password" type="password"><br>
<input type="submit" value="Log ind">
</form>
<?php
//Attempt to fetch the form variables
$username = $HTTP_POST_VARS['username'];
$password = $HTTP_POST_VARS['password'];
//if the username and password are valid,
//redirect the user to the search page.
if (isset($username) && isset ($password)) {
//connect to the database
$conn = mysql_connect('localhost', 'jon', 'secret')
or die(mysql_error());
mysql_select_db('Library', $conn)
or die (mysql_error());
//Query the database
$sql = "SELECT username FROM users WHERE username = '" .
$username . "' and password = '" . $password . "'";
$result = mysql_query($sql, $conn);
//Test the query result
$success = false;
if (@mysql_result($result, 0, 0) == $username) {
$success = true;
}
//close the connection to the database
mysql_close($conn);
//Redirect the user upon a success login
if ($success) {
header('location:
http://www.example.com/search.php');
}
}
?>