Kezdőoldal » Számítástechnika » Weblapkészítés » Írtam egy php login oldalt a...

AndiBence kérdése:

Írtam egy php login oldalt a numrows segítségével. MIn kellene változtatnom, hogy megfelelően működjön?

Figyelt kérdés

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>



2012. aug. 11. 22:06
 1/3 anonim ***** válasza:

í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.

2012. aug. 11. 22:22
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Köszönöm a választ! Az egyik hiba valószínűleg az volt, bár igaz hogy a tutorialban úgy volt megadva ennek ellenére én válaszod alapján empty-re javítottam és így megfelelően működik. Illetve még egy hibát észleltem : a ($numrows==1)-ről le volt maradva a $ jel. Ezzel kiegészítve már tökéletesen működik a kód.
2012. aug. 12. 02:57
 3/3 anonim ***** válasza:

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!

[link]

2012. aug. 12. 11:43
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!