PHP fungerer ved, at den først kører din fil igennem - læser det der står, og hvis det der står er PHP, så afvikler den PHP-koden, og sender resultatet tilbage som output. Hvis der står noget udenfor PHP-tags'ne, så bliver det betragtet som output og bliver sendt afsted med det samme.
Headers, som for eksempel Location, kan kun aktiveres hvis der endnu ikke har været output. Derfor skal du flytte din kode fra body og op i toppen af scriptet. altså
<?php
$bruger=$_POST["bruger"];
$expire=time()+60*60*24*30;
setcookie("user", "$bruger", $expire);
include 'connect.php';
mysql_connect("$host", "$user", "$pass")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$brugernavn=$_POST['bruger'];
$kodeord=$_POST['pass'];
$brugernavn = stripslashes($brugernavn);
$kodeord = stripslashes($kodeord);
$brugernavn = mysql_real_escape_string($brugernavn);
$kodeord = mysql_real_escape_string($kodeord);
$sql="SELECT * FROM $db_table WHERE bruger='$brugernavn' and pass='$kodeord'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
header("location:login_success.php");
}
else {
$error = "Wrong Username or Password";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo $error;
?>
</body>
</html>
Indlæg senest redigeret d. 08.02.2009 17:56 af Bruger #8223