Har en vanlig lösenords-input, som vid post skickar lösenordet till scriptet nedan.
Men vare jag skriver ett rätt lösenord eller fel, så skickas jag tillbaka till inloggningssidan, dvs får inte upp message i slutet.
<?
if(!$_POST[user]){
header("Location:http://www.grundsida.se/login.php");
exit;
}
$db_name="foretag";
$table_name="auth_users";
$connection=@mysql_connect("localhost","blalba","blabal")or die(mysql_error());
$db=@mysql_select_db($db_name, $connection)or die(mysql_error());
$sql="SELECT * FROM $table_name WHERE user = '$POST[user]'";
$result=@mysql_query($sql,$connection) or die(mysql_error());
$num=mysql_num_rows($result);
if ($num !=0){
$msg="<p>Welcome!</p>";
}
else{
header("Location:http://www.grundsida.se/login.php");
exit;
}
?>
<html>
<head>
<title>Log in</title>
</head>
<body>
<? echo "$msg"; ?>
</body>
</html>
Dvs varför får jag aldrig Welcome-meddelandet ens när löseordet överensstämmer med det som finns i databasen?
Du kan ju prova att lägga till något litet prefix i slutet på dina redirects för att se vilken av dem som skickar tillbaka besökaren.
//Dvs ändra den första till ex.
header("Location:http://www.grundsida.se/login.php?1");
//och den andra till
header("Location:http://www.grundsida.se/login.php?2");
. På så sätt kan du se ungefär var felet ligger.
Personligen gissar jag på att du glömt att ange method="post" i formuläret. :)
Tack för förslag!! :-)
Men tyvärr. Inget funkar.
Skulle tro, ja, att det är i if-satsen nåt går fel men vad fattar jag inte.
Hur jag än gör så är det else-satsen som kör igång.
Eller är det ändå nåt här:
$sql="SELECT * FROM $table_name WHERE user='$POST[user]'";
Jo det är method=post i formuläret.
Fler förslag? Vore toppen.
Har du testat Peter S förslag att skriva ut vad du har i $_POST['user']?
I mitt förslag hade jag glömt enkelfnuttar runt user, men det kanske inte gör någon skillnad...
Punkterna klistrar ihop två strängar.