Hejsan!
Jag har ett litet problem med ett login script..
Jag har försökt med detta på lite olika sätt.
Vid en lyckad inloggning så skall man komma till base.php (vilket lyckas utan problem).
Men om man anger fel pass och anv.namn så skall en liten javapopup titta fram och berätta vad man har gjort för fel och backa ett steg.
Den java jag använder i denna kod funkar utmärkt i en annan kod.. så javan är det inget fel på...
Jag får den helt enkelt bara inte att fungera!
Finns det någon som har något råd?
Här är koden till sidan som kollar så att anv.namn och lösen är rätt.
<?
$link = mysql_connect("localhost", "xxxxx", "xxxxx") or die(mysql_error());
mysql_select_db("webdb", $link) or die(mysql_error());
function error_message($mess){
echo "<script>alert(\"".$mess."\"); history.go(-1);</script>";
}
$result = mysql_query("SELECT 1 FROM user where username ='$username' and password = '$password'", $link) or die(mysql_error());
$num_rows = mysql_num_rows($result) or die(mysql_error());
if ( $num_rows != 0 ) {
header("Location: base.php");
} else {
header(error_message("Fel användarnamn eller lösenord! Försök igen));
exit;
}
?>
Warning: Cannot add header information - headers already sent by (output started at /home/thepage/public_html/beta/do_login.php:5) in /home/thepage/public_html/beta/do_login.php on line 13
Längst upp i koden som du skickade in först så ser jag något som ser ut som en radbrytning, alltså precis innan '<?', finns det med i din vanliga kod så ta bort den =)
jo jo..
Här i forumet....
Men det finns inte med i koden i övrigt... ;)
TIlläg:
Visserligen så har jag ju även med en mailadress i fel meddelandet.. kan det har någet med saken att göra?
utan \n funkar det perfekt med mailadressen som den är..
är det så att jag måste lägag till någet tecken före/efter @ för att det skall funka?
Ok.. ytterligare ett problem..
borde ha kollat detta tidigare!
När jag nu frösöker logga in med RÄTT användarnamn och password, så funkar det inte...
Hur jag än gör så får jag upp felmeddelandet...
någon som kan se någet fel i koden som kan få detta att hända??
Det där med radbrytningen har jag tatt bort å skitit i...
Det sotora problemet nu är ju att oavsett om jag loggar in med rätt lösen å anv.namn så får jag upp felmeddelandet... är det just för att jag skickar java i http headern?
Hur fixar man då till det?
eller blir det helt enkelt så att jag MÅSTE skita i felmeddelandet??
RED:
Om det nu är så att jag måste skita i scriptet så har jag då altså en fil som heter loginerr.php där det står typ, "fel anv.namn och lösenord. Försök igen".
Men nu är det ju så... att i login formuläret så är target pekad mot _top (som ju skriver över hela fönstret)
Om det nu visar sig vara fel lögin å pass.. hur gör jag då så att target pekar mot base_ (som är namnet på ramen jag vill att felmeddelandet skall hamna i.)