Login system, logind problemer, igen.
<?phpsession_start();
if(isset($_POST["brugernavn"], $_POST["password"])) {
$conn = mysql_connect("$host", "$user", "$pass") or die (mysql_error());
mysql_select_db("$db", $conn) or die (mysql_error());
$dato = date("d-m-Y H:i", time());
$sql = "UPDATE login2 SET online='". $dato ."' WHERE `brugernavn` ='". $_POST[brugernavn] ."'";
mysql_query($sql,$conn) or die(mysql_error());
$dotjek = mysql_query("SELECT `brugernavn`, `password`, `level` FROM `login2` WHERE `brugernavn` ='". $_POST[brugernavn] ."'") or die (mysql_error());
if(mysql_num_rows($dotjek)!=1) {
$_SESSION["navne_fejl"] = 1;
header("Location:logind");
exit;
}
else {
$row = mysql_fetch_array($dotjek);
$_SESSION["brugernavn"] = $row[0];
if($row[1] != md5($_POST["password"])) {
$_SESSION["password_fejl"] = 1;
header("Location:logind");
exit;
}else{
$_SESSION["level"] = $row[2];
if ($row[2]=="Admin") {
header("Location:admin.php");
exit;
}else{
header("Location:login.php");
exit;
}
}
}
mysql_free_result($dotjek);
}
?>
Den virker princippet fint, men problemet er hvis jeg bare skriver brugernavn så sker der ingen ting (Som der skal!!!) Men klikker man bagefter på login (i menuen) så er man logget ind som alm. bruger med det brugernavn. Hvordan undgår jeg dette?!
Så en anden ting. Hvordan sætter jeg den til at smide $sql = "UPDATE login2 SET online='". $dato ."' WHERE `brugernavn` ='". $_POST[brugernavn] ."'"; på, når brugeren ER logget ind? Jeg har prøvet at lege lidt med det, men så skriver den: "Query was empty"
Jeg havde gjort sådan:
$_SESSION["level"] = $row[2];
if ($row[2]=="Admin") {
header("Location:admin.php");
$sql = "UPDATE login2 SET online='". $dato ."' WHERE `brugernavn` ='". $_POST[brugernavn] ."'";
exit;
Men virker desværre ikke.. Håber en kan hjælpe! :)
