Problem med header location
Hej eksperter!Jeg har fået lavet et PHP logind-system, som jeg får fejl ved på function-siden validate.php:
Warning: Cannot modify header information - headers already sent by (output started at (...)/dbconnect.php:1) in (...)/validate.php on line 4
Jeg har læst en masse om denne fejl og faldt blandt andet over http://stackoverflow.com/questions/4529379/is-it-good-practise-to-use-meta-refresh-tags-for-redirects-instead-of-header-f , hvor de i den sidste kommentar skriver at man ikke bør bruge ob_start / ob_flush til at løse dette problem.
Min validate.php:
<?php
session_start();
function redirect($url){
header("Location: ".$url);
exit();
}
include('dbconnect.php');
$username = mysql_real_escape_string($_POST['usr']);
$password = mysql_real_escape_string(md5($_POST['pwd']));
$query = mysql_query("SELECT * FROM distortion_user WHERE username = '$username' AND password = '$password'") or die (mysql_error());
$num_users = mysql_num_rows($query);
if($num_users == '1'){
$_SESSION['usr'] = $username;
$_SESSION['timeout'] = time();
redirect("admindb.php");
}elseif(empty($username) || empty($password)){
redirect("index.php?error=empty");
}else{
redirect("index.php?error=true");
}
?>
Og min dbconnect.php:
<?php
$sql_con = mysql_connect("localhost","###","###");
mysql_select_db("###",$sql_con);
?>
- Jeg har fjernet "white-space" før og efter <?php og ?> på begge sider.
Det skal desuden siges at jeg godt kan få validate til at virke hvis jeg i stedet for at include dbconnect bare indsætter indholdet, virker siden. Men det må da kunne løses anderledes?
Håber I kan hjælpe!
På forhånd tak