Mærkelig PHP fejl.
Når jeg logger ind på min admin side, får jeg denne fejl:Warning: Cannot modify header information - headers already sent by (output started at /customers/fozie.dk/fozie.dk/httpd.www/admin/index.php:19) in /customers/fozie.dk/fozie.dk/httpd.www/admin/index.php on line 43
Jeg kan se det er en header fejl.
her er index.php
<?php
session_start();
if($_SESSION['logget_ind']==true){header('location:forside.php');}
?>
<?php
$mysql_host = "localhost";
$mysql_user = "fozie_dk";
$mysql_pass = "**********";
$conn = mysql_connect($mysql_host,$mysql_user,$mysql_pass);
if(!$conn)die('Der kunne ikke oprettes forbindelse til database serveren. Prøv igen senere eller kontakt webmaster.\n' . mysql_error());
mysql_select_db("fozie_dk");
$query = mysql_query("SELECT `ip` FROM `banned` WHERE `ip` = '". $_SERVER["REMOTE_ADDR"] ."'");
if(mysql_num_rows($query) != 0) {
die("Du er banned");
}
?>
<font face="Tahoma">
<?php
//Forbinder til MySQL server
//Tjekker om man har trykket på Login
if($_POST['login']==true)
{
$bruger = $_POST['user'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM users WHERE brugernavn='$bruger' AND password=password('$password')");
if(mysql_num_rows($result)<1){print('Brugernavn eller password er forker!<br>Prøv igen, eller kontakt administrator.');}
else
{
while($row = mysql_fetch_array($result))
{
$_SESSION['logget_ind'] = true;
$_SESSION['brugernavn'] = $row['brugernavn'];
$_SESSION['permission'] = $row['permission'];
$id = $row['id'];
$ip = getenv(REMOTE_ADDR);
$date = date("Y-m-d H:i:s");
$error[1] = "Der er sket en fejl. Prøv igen eller kontakt administrator.";
mysql_query("UPDATE users SET sidste_ip='$ip' WHERE id='$id'") or die($error[1].mysql_error());
mysql_query("UPDATE users SET online='ja' WHERE id='$id'") or die($error[1].mysql_error());
mysql_query("UPDATE users SET sidste_login='$date' WHERE id='$id'") or die($error[1].mysql_error());
header('location:forside.php');
}
}
}
?>
<form method="post" action="<?=$_SESSION['PHP_SELF']?>">
<input type="hidden" name="login" value="true">
<table border="0" cellpadding="5" cellspacing="5"> <tr>
<td valign="top">Brugernavn:</td> <td valign="top">
<input type="text" name="user" size="20"></td> </tr> <tr>
<td valign="top">Password:</td> <td valign="top">
<input type="password" name="password" size="20"><br><br>
<input type="submit" name="submit" value="Login"> </td>
</tr></table></form>
(ved ikke lige hvorfor den laver mellemrum mellem hver linje?.)
Når man logger ind skulle man gerne komme til forside.php, men der er så der fejlen kommer op. Så opdatere jeg siden og kommer ind på forside.php.
Her er forside.php:
<?
session_start();
if(!isset($_SESSION['logget_ind'])){header('Location:index.php');}
?>
<?php
$mysql_host = "localhost";
$mysql_user = "fozie_dk";
$mysql_pass = "************";
$conn = mysql_connect($mysql_host,$mysql_user,$mysql_pass);
if(!$conn)die('Der kunne ikke oprettes forbindelse til database serveren. Prøv igen senere eller kontakt webmaster.\n' . mysql_error());
mysql_select_db("fozie_dk");
$query = mysql_query("SELECT `ip` FROM `banned` WHERE `ip` = '". $_SERVER["REMOTE_ADDR"] ."'");
if(mysql_num_rows($query) != 0) {
die("Du er banned");
}
?>
<font face="Tahoma">
<a href="nyhed_tilfoej.php">Skriv en nyhed</a><br>
<a href="gb_tom.php">Tøm gæstebogen</a><br>
<a href="gb.php">Admin gb</a><br />
-<br />
<a href="logud.php">log ud</a>