webForumDet fria alternativet

Inloggning med PHP och MySQL databas

9 svar · 303 visningar · startad av ulkHen

ulkHenMedlem sedan feb. 20025 inlägg
#1

Jag har en MySql databas där jag har en massa användarnamn och deras lösenord.

Det jag vill göra med min php kod är
* via ett fromulär göra följande:

*kolla om användaren skrivit rätt användarnamn i variabeln $anvandarnamn och rätt lösenord i variabeln $losenord
*om användarnamn och lösenord stämmer, dvs rätt lösenord för rätt användare ska användaren skickas vidare till en annan fil.
Om han skrivit fel ska han skickas till föregående fil.

Vore enormt tacksam om någon kunde hjälpa mig med detta. Jag kan ungeefär priciperna för det hela, men inte i detalj.

Mvh
David

VikingMedlem sedan maj 20003 652 inlägg
#2

Ok, ska försöka (utgår från att du gjort formuläret och att variabeln med username heter username och variabeln med password heter password):

$query = mysql_query("SELECT * FROM tabell WHERE user = '$username' AND password = '$password'");
$num = mysql_num_rows($query);

if($num > 0) {
echo "
Du är nu inloggad!
<SCRIPT LANGUAGE=\"JavaScript\">
<!--

location.href=\"filnamn.php\";

-->
</SCRIPT>
";
} else {
echo "
<SCRIPT LANGUAGE=\"JavaScript\">
<!--

javascript:history.go(-1)

-->
</SCRIPT>
";
}

Borde fungera, tror jag, har inte testat, lite osäker på JavaScripten... :)

------------------
Ja, det är tack gode gud Viking!

ulkHenMedlem sedan feb. 20025 inlägg
#3

Tack för ditt svar!
Jag har anpassat koden för mig, men får det ändå inte att fungera. Jag har kontrollerat det lätta som att variabelnamn stämmer överens med varandra samt att databas anslutningen innehåller rätt uppgifter.

Vad kan vara fel? Min kod är:

<html>

<?
$link = mysql_connect ("localhost","user","pass");
$databas = mysql_select_db("databasen");
$query = mysql_query("SELECT * FROM tabellen WHERE anvandarnamn = '$anvandarnamn' AND losenord = 'losenord'");
$num = mysql_num_rows($query);
if($num > 0) {
echo "
Du är nu inloggad!
<br>
<a href='inloggad.php'>vidare</a>
";
} else {
echo "
du har angivit felaktigt lösenord eller användarnamn
";
}
mysql_close ($link);

?>

</html>

[Redigerat av ulkHen den 09 feb 2002]

MatteMedlem sedan aug. 20002 975 inlägg
#4

r/ Mitt svar blir meningslöst efter ulkHens redigering. Tar därför bort det.

------------------
Fiskesällskapet Salamander

[Redigerat av Matte den 09 feb 2002]

VikingMedlem sedan maj 20003 652 inlägg
#5

Vad blev det för fel? :)

------------------
Ja, det är tack gode gud Viking!

ulkHenMedlem sedan feb. 20025 inlägg
#6

Hej
Felet är att jag alltid får det nekande meddelandet om att inloggningen misslyckades när jag anropar denna fil från formuläret, detta trots att uppgifterna som fylls i formuläret är de samma som finns i databasen, dvs användarnamn och lösenord.

David

jorgenMedlem sedan feb. 20012 412 inlägg
#7

Finns det ingen funktion i PHP som fungerar som response.redirect i ASP?

response.redirect("sidan.asp")

------------------
Vänligen Jörgen :)

FlashXMedlem sedan nov. 19991 033 inlägg
#8

Jo, header("Location: URLen"); men måste placeras innan man skriver ut något.
Jag kan inte hitta något fel i skriptet. Vad får du om du skriver ut $num? Vad får du om du skriver ut användarnamnet och lösenordet? Kan ju vara så att du inte får tillbaka värdena p.g.a. att de inte kan hämtas globalt kanske.

[Redigerat av FlashX den 10 feb 2002]

ulkHenMedlem sedan feb. 20025 inlägg
#9

Hej
När jag skriver ut variablarna $num, $anvandarnamn och $losenord får jag 0, Kalle, 1234

Har sett på php.net att denna metod tydligen kan kracha servers ibland. Använder Apache på hotellet fsdata.se.

Nån vänlig själ som kan tyda om det finns nån lösning här:
http://www.php.net/manual/en/function.mysql-num-rows.php

Mvh
David

[Redigerat av ulkHen den 10 feb 2002]

BitstateMedlem sedan nov. 2000432 inlägg
#10

Jo, header("Location: URLen"); men måste placeras innan man skriver ut något.Jo,

njae.. nästan.. finns funktioner för att buffra outputen såpass att du kan lägga header(... var du vill .. ungefär

------------------
"Alla vet varför och allt är perfekt."

130 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)