webForumDet fria alternativet

login script please

PHPur PHP

16 svar · 295 visningar · startad av soffan76

Medlem sedan maj 2001684 inlägg
Frågan#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

Medlem sedan dec. 200012 464 inlägg
#2
<?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

Medlem sedan maj 2001684 inlägg
#3

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

Medlem sedan maj 2001684 inlägg
#4

Finns det ingen som vet, nåt blir fel!!!

------------------
Sofia

Medlem sedan dec. 200012 464 inlägg
#5

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]

Medlem sedan maj 2001684 inlägg
#6

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

Medlem sedan jan. 20011 154 inlägg
#7
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.

Medlem sedan dec. 200012 464 inlägg
#8
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

Medlem sedan maj 2001684 inlägg
#9

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

Medlem sedan dec. 200012 464 inlägg
#10

Vad fick du för fel då?

------------------
essentitia preter non sans multiplicandum

Medlem sedan maj 2001684 inlägg
#11

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

Medlem sedan jan. 20012 204 inlägg
#12

ghar du någon loginerror.php sida då?

------------------
"Vill du också ha spänning i vardagen? Börja med frisbee!"

Medlem sedan maj 2001684 inlägg
#13

Ja, och det som finns på den sidan är föjande:

<?
echo "login failed";
?>

------------------
Sofia

Medlem sedan juni 20001 251 inlägg
#14
$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.

Medlem sedan dec. 200012 464 inlägg
#15

Jo, det kan det, men varför?

soffan:

Har det ordnat sig?

<?[b]php[/b]
echo "login failed";
?>

?

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 200121 inlägg
#16

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;

Medlem sedan dec. 200012 464 inlägg
#17
$num_rows = mysql_num_rows($result));

------------------
essentitia preter non sans multiplicandum

256 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
128 ms — hämta forumlista (db)
125 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)