Jag vill att "username" står i fältet på rad 73 angiven tid.
Cookien sätter jag på rad 4.
Vad är felet?
Jag har följande kod:
<?php
session_start(); // Alltid överst på sidan
setcookie('username', $_POST['user'], time() + (7 * 24 * 60 * 60);
include "conn.php"; // Databasanslutningen
// Inloggning
if (isset($_POST['submit'])){
$_POST = db_escape($_POST);
$sql = "SELECT user_id FROM members
WHERE user='{$_POST['user']}'
AND pass='{$_POST['passwd']}'";
$result = mysql_query($sql);
// Hittades inte användarnamn och lösenord
// skicka till formulär med felmeddelande
if (mysql_num_rows($result) == 0){
header("Location: index.php?badlogin=");
exit;
}
// Sätt sessionen med unikt index
$_SESSION['sess_user_id'] = mysql_result($result, 0, 'user_id');
$_SESSION['sess_pass'] = $_POST['passwd'];
$_SESSION['sess_user'] = $_POST['user'];
header("Location: index2.php");
exit;
}
// Utloggning
if (isset($_GET['logout'])){
session_unset();
session_destroy();
header("Location: index.php");
exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>Index</title>
<style type="text/css">
<!--
.style1111 {
color: #FF0000;
left: auto;
}
-->
</style>
</head>
<body>
<?php
// Om inte inloggad visa formulär, annars logga ut-länk
if (!isset($_SESSION['sess_user'])){
echo "<h3>Logga in</h3>\n";
// Visa felmeddelande vid felaktig inloggning
if (isset($_GET['badlogin'])){
echo '<p class="style1111">Fel användarnamn eller lösenord!</p>';
}
?>
<form action="index.php" method="post">
Användarnamn:<br>
<input type="text" name="user" value="<?php echo isset($_COOKIE['username']) ? $_COOKIE['username'] : ''; ?>"><br>
Lösenord:<br>
<input type="password" name="passwd"><br>
<input type="submit" name="submit" value="Logga in">
</form>
<p>Inte medlem ?<br>
<a href="register.php">Registera dig</a>
<?php
} else {
echo "<a href=\"index.php?logout=\">Logga ut</a>\n";
}
?></p>
</body>
</html>