S soffan76 Medlem sedan maj 2001 684 inlägg Frågan 11 okt. 2001 09:17 #1 Snälla, snälla! Har någon lust att dela med sig av ett loginscript som kollar rätt användare och lösenord i en MySql databas? Vore jättesnällt. Jag kan inte hitta nån tydlig enkel.
Mvh Sofia
------------------
Sofia
L LarsG Medlem sedan dec. 2000 12 464 inlägg <?php
$link = mysql_connect("localhost", "username", "password");
mysql_select_db("database", $link);
$result = mysql_query("SELECT 1 FROM users where username ='$username' and password = '$password'", $link);
$num_rows = mysql_num_rows($result);
if ( $num_rows != 0 ) {
echo "login successful <br>";
}
?>
------------------
essentitia preter non sans multiplicandum
S soffan76 Medlem sedan maj 2001 684 inlägg Tack snälla.
Ska det vara så här då?
login1.php:
<FORM ACTION="login2.php" METHOD="post">
Username: <INPUT TYPE="text" NAME="username"><BR>
Password: <INPUT TYPE="text" NAME="password"><BR>
<INPUT TYPE="submit" VALUE="Login">
</FORM>
login2.php:
<?php
$link = mysql_connect("localhost", "", "");
mysql_select_db("incloctite", $link);
$result = mysql_query("SELECT 1 FROM user where username ='$username' and pass = '$password'", $link);
$num_rows = mysql_num_rows($result);
if ( $num_rows != 0 ) {
echo "login successful <br>";
}
?>
------------------
Sofia
S soffan76 Medlem sedan maj 2001 684 inlägg Finns det ingen som vet, nåt blir fel!!!
------------------
Sofia
L LarsG Medlem sedan dec. 2000 12 464 inlägg Vad är det för fel då?
Du kan ju lägga till lite felhantering
<?php
$link = mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("incloctite", $link) or die(mysql_error());
$result = mysql_query("SELECT 1 FROM user where username ='$username' and pass = '$password'", $link) or die(mysql_error());
$num_rows = mysql_num_rows($result);
if ( $num_rows != 0 ) {
echo "login successful <br>";
}
?>
sen så finns det en fälttyp som heter password som du kan använda så att den inmatatde texten inte ekas
<INPUT TYPE="password" NAME="password">
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 20 okt 2001]
S soffan76 Medlem sedan maj 2001 684 inlägg Hurra! Du är bäst. Tusen tack!
Bara en liten grej, om man loggar in fel ska man komma till en tyvärrsida, var lägger jag in den?
------------------
Sofia
jonne Medlem sedan jan. 2001 1 154 inlägg if ( $num_rows != 0 ) {
echo "login successful <br>";
} else {
echo "ajabaje fel lösen eller användare";
}
------------------
If i want culture, I'll eat yogurt.
L LarsG Medlem sedan dec. 2000 12 464 inlägg if ( $num_rows == 0 ) {
header("Location: loginerror.php");
exit;
}
Du kan inte ha någon HTML-kod innan header-anropet
------------------
essentitia preter non sans multiplicandum
S soffan76 Medlem sedan maj 2001 684 inlägg Hej!
Tack för era förslag!
Jag testade Jonnes variant först: Så här ser det då ut i sín helhet:
<?php
$link = mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("intloctite", $link) or die(mysql_error());
$result = mysql_query("SELECT 1 FROM user where username ='$username' and pass = '$password'", $link) or die(mysql_error());
$num_rows = mysql_num_rows($result) or die(mysql_error());
if ( $num_rows != 0 ) {
echo "login successful <br>";
} else {
echo "wrong";
}
?>
Problemet är att felmeddelandet inte visas, sidan är vit...
Tyvärr fick jag inte din variant att funka LarsG.
------------------
Sofia
L LarsG Medlem sedan dec. 2000 12 464 inlägg Vad fick du för fel då?
------------------
essentitia preter non sans multiplicandum
S soffan76 Medlem sedan maj 2001 684 inlägg samma sak..vit sida...warum?
<?php
$link = mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("intloctite", $link) or die(mysql_error());
$result = mysql_query("SELECT 1 FROM user where username ='$username' and pass = '$password'", $link) or die(mysql_error());
$num_rows = mysql_num_rows($result) or die(mysql_error());
if ( $num_rows != 0 ) {
echo "login successful <br>";
} else {
header("Location: loginerror.php");
exit;
}
?>
------------------
Sofia
P P Medlem sedan jan. 2001 2 204 inlägg ghar du någon loginerror.php sida då?
------------------
"Vill du också ha spänning i vardagen? Börja med frisbee!"
S soffan76 Medlem sedan maj 2001 684 inlägg Ja, och det som finns på den sidan är föjande:
<?
echo "login failed";
?>
------------------
Sofia
S stevenet Medlem sedan juni 2000 1 251 inlägg $result = mysql_query("SELECT 1 FROM user where username ='$username' and pass = '$password'", $link) or die(mysql_error());
skulle väl kunna ersättas med
$result = mysql_query("SELECT * FROM user where username ='$username' and pass = '$password'", $link) or die(mysql_error());
------------------
SteveNet
------------------
- Det var motgräs!
Roland Sandberg förklarar varför han missade öppet mål.
L LarsG Medlem sedan dec. 2000 12 464 inlägg Jo, det kan det, men varför?
soffan:
Har det ordnat sig?
<?[b]php[/b]
echo "login failed";
?>
?
------------------
essentitia preter non sans multiplicandum
D dd Medlem sedan aug. 2001 21 inlägg Vet inte om soffan76 fått det att fungera men jag verkar ha samma problem, funkar bra om man loggar in med rätt uppgifter men om det är fel kommer enbart en blank sida fram.
$num_rows = mysql_num_rows($result) or die(mysql_error());
if ($num_rows != 0 ) {
echo "login successful <br>";
}
else
{
echo "ajabaje fel lösen eller användare";
}
exit;
L LarsG Medlem sedan dec. 2000 12 464 inlägg $num_rows = mysql_num_rows($result));
------------------
essentitia preter non sans multiplicandum