login script please

PHP

16 svar · 299 visningar · startad av soffan76

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

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>";
}
?>
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>";
}
?>
Medlem sedan maj 2001684 inlägg
#4

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

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">
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?

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";
}
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

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.

Medlem sedan dec. 200012 464 inlägg
#10

Vad fick du för fel då?

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;
}
?>
Medlem sedan jan. 20012 204 inlägg
#12

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

Medlem sedan maj 2001684 inlägg
#13

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

<?
echo "login failed";
?>
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

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";
?>

?

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));
274 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)