Írtam egy php login oldalt a numrows segítségével. MIn kellene változtatnom, hogy megfelelően működjön?
A következőket kellene tudnia, ha nem gépelnek be a formba felhasználónevet vagy jelszót akkor kiírja hogy tegyék meg, ha nincs ilyen felhasználónév akkor azt közli a látogatóval, ha a jelszó hibás akkor a jelszóhibát írja ki. Bármit írok a form mezőibe a következőt írja ki : Notice: Use of undefined constant numrows - assumed 'numrows' in C:\xampp\htdocs\login. Php on line 12 Kérlek írd be a felhasználónevedet és a jelszavadat
Itt a feldolgozó php forráskódja:
<?php
$felhasznalonev = $_POST['felhasznalonev'];
$jelszo = $_POST['jelszo'];
if($felhasznalonev&&$jelszo)
{
$connect = mysql_connect('localhost','root','4718131');
$users = mysql_select_db('users',$connect);
$query = mysql_query("SELECT * FROM info WHERE username ='$felhasznalonev'");
$numrows = mysql_num_rows($query);
if(numrows==1)
{
while($rows = mysql_fetch_assoc($query))
{
$dbfelhasznalonev = $rows['username'];
$dbjelszo = $rows['password'];
}
if($felhasznalonev==$dbfelhasznalonev&&$jelszo==$dbjelszo)
{
echo "Gratulálok Bejelentkeztél";
}
else
die("A jelszó nem megfelelő");
}
else
die ("Kérlek írd be a felhasználónevedet és a jelszavadat");
}
?>
és itt pedig a form-é:
<form action="login.php" method="POST">
<table>
<td>
Felhasználónév :
</td>
<td>
<input type="text" name="felhasznalonev"/><br />
<td>
Jelszó :
</td>
<td>
<input type="password" name="jelszo"/><br />
</td>
<td>
<input type="submit" name="submit" value="bejelentkezés"/>
</td>
</form>
így első ránézésre ami hiba az az első feltétel:
if($felhasznalonev&&$jelszo)
ilyen nincs, ha azt akarod hogy létezik-e a változó (gondolom én), akkor empty() függvénybe tedd, az true vagy false tér vissza. és az kell a feltételnek. a $felhasznalonev és a $jelszo csak sima stringek, a feltételnek pedig logikai érték kell.
Egy tipp, ha az SQL kérésbe beteszed a felhasználó név mellé a jelszót is, akkor meg tudsz spórolni egy összehasonlítást, mivel csak akkor adja vissza az értéket, ha megvan a felhasználó név és a hozzá tartozó jelszó is rendben.
+ Valamilyen módon "szűrd" a bemenetet!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!