S soffan76 Medlem sedan maj 2001 684 inlägg Trådstart 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
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>";
}
?>
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>";
}
?>
S soffan76 Medlem sedan maj 2001 684 inlägg Finns det ingen som vet, nåt blir fel!!!
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">
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?
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";
}
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
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.
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;
}
?>
P P Medlem sedan jan. 2001 2 204 inlägg ghar du någon loginerror.php sida då?
S soffan76 Medlem sedan maj 2001 684 inlägg Ja, och det som finns på den sidan är föjande:
<?
echo "login failed";
?>
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
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";
?>
?
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));