webForumDet fria alternativet

login script please

16 svar · 295 visningar · startad av soffan76

soffan76Medlem sedan maj 2001679 inlägg
#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

LarsGMedlem sedan dec. 200012 465 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

soffan76Medlem sedan maj 2001679 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

soffan76Medlem sedan maj 2001679 inlägg
#4

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

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

LarsGMedlem sedan dec. 200012 465 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]

soffan76Medlem sedan maj 2001679 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

jonneMedlem sedan jan. 20011 097 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.

LarsGMedlem sedan dec. 200012 465 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

soffan76Medlem sedan maj 2001679 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

LarsGMedlem sedan dec. 200012 465 inlägg
#10

Vad fick du för fel då?

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

soffan76Medlem sedan maj 2001679 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

PMedlem sedan jan. 20012 107 inlägg
#12

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

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

soffan76Medlem sedan maj 2001679 inlägg
#13

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

<?
echo "login failed";
?>

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

stevenetMedlem sedan juni 2000985 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.

LarsGMedlem sedan dec. 200012 465 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

ddMedlem 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;

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

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

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb