setcookie giver header error
HEjjeg er igang med at lave autologin på min loginsystem.
Først lidt kode:
## LOGIN.PHP ###
<?
if ( $_COOKIE[autologin] == 'ja' ) {
$postbruger = $_COOKIE['username'];
$pass = $_COOKIE['password'];
$postpass = md5($pass);
$resultat = mysql_query("SELECT id FROM brugere WHERE username='$postbruger' AND password='$postpass' AND level>='1' ");
$number = mysql_num_rows($resultat);
if($number == 1) {
$_SESSION['loget_in'] = 1;
$_SESSION['Brugernavn'] = $postbruger;
$_SESSION['Password'] = $postpass;
echo "Du er nu logget ind"; }
} else {
?>
<form name="Login" method="POST" action="?id=logincode.php">
Brugernavn:<br /><input type="text" name="Brugernavn"><br />
Password:<br /><input type="password" name="Password"><br />
<br />
Autologin: <input type="checkbox" name="autologin" value="ja">
<br /><br />
<input type="submit" name="535a9108ffd2cf1c394023a689eb2d98" value="Login"><br />
</form>
<br />
<br />
<? echo $_COOKIE[autologin]; ?>
<?
};
?>
## LOGINCODE.PHP ##
<?php
include('config.php');
if(!isset($_POST['535a9108ffd2cf1c394023a689eb2d98'])) {
echo "Desværre, der er sket en fejl.";
}else {
$postbruger = $_POST['Brugernavn'];
$pass = $_POST['Password'];
$postpass = md5($pass);
$auto = $_POST['autologin'];
$resultat = mysql_query("SELECT id FROM brugere WHERE username='$postbruger' AND password='$postpass' AND level>='1' ");
$number = mysql_num_rows($resultat);
if($number == 1) {
$_SESSION['loget_in'] = 1;
$_SESSION['Brugernavn'] = $postbruger;
$_SESSION['Password'] = $postpass;
if ( $auto == 'ja' ) {
setcookie(autologin, "ja", time()+61516800);
setcookie(username, $_SESSION[Brugernavn], time()+61516800);
setcookie(password, $_SESSION[Password], time()+61516800);
};
echo "Du er nu logget ind som: ". $_SESSION['Brugernavn'];
$time = time();
$query = mysql_query("INSERT INTO online (id,username) VALUES ('$time','$_SESSION[Brugernavn]') ");
} else echo"De indtastede oplysninger er ikke korrekte";
}
?>
## Og her er de fejl meddelser jeg får: ##
Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\itechforum\index.php:21) in c:\apache\htdocs\itechforum\logincode.php on line 23
Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\itechforum\index.php:21) in c:\apache\htdocs\itechforum\logincode.php on line 24
Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\itechforum\index.php:21) in c:\apache\htdocs\itechforum\logincode.php on line 25
Dvs. de linjer med setcookie laver en header fejl.
Denne forkommer kun når jeg vælger at bruge autologin.
Og resten af systemet virker da også fint.
