Kezdőoldal » Számítástechnika » Weblapkészítés » Hiba a login elkészítésnél?

Hiba a login elkészítésnél?

Figyelt kérdés
Egy oldalt csinálok. Elkészítettem a regisztrációs űrlapot és a feldolgozó részét is. Most a belépő részt kezdtem el. Ahhoz is már csak a feldolgozó részt kéne megcsinálnom. Sajnos elakadtam ott, hogy az adatbázisból (mysql), lekérdezze az adatokat. Eddig a "SELECT * FROM" kóddal és változataival próbálkoztam, de nem jött össze! Valaki el tudná magyarázni, hogy ennél a kódnál mi hova kerül? Illetve, hogy lehet azt megvalósítani, hogy csak a megfelelő e-mail cím és jelszó párosítással lehessen belépni? Jó lenne ezt még a regisztrációba is bele építenem, hogy ha regisztrálva van már az e-mail cím, akkor ne lehessen regisztrálni. Gondolom ezt szintén az előbb említett kóddal lehetne megcsinálni. Kérlek segítsetek! Előre is köszönöm!

2014. máj. 6. 17:53
 1/4 anonim ***** válasza:

//csak példák


//vane regelve az email

$q = "SELECT id FROM felhasznalok WHERE email='{$_POST["email"]}'"; //SQL INJECTION !!!

$q = mysql_query($q);

if(mysql_num_rows($q) == 0){

//még nincs ez az email regisztrálva

}else{

//van már

}


//login

$q = "SELECT id, nev FROM felhasznalok WHERE email='{$_POST["email"]}' AND jelszo=SHA1('{$_POST["jelszo"]}');"; //SQL injection, a jelszó az adatbázisban kódolva van, nem MD5-tel!, amilyen kódolást használsz, attól függően cseréld le az SHA1()-et, vagy még php-val kódold át a jelszót, és azt add át mysqlnek

$q = mysql_query($q);

if(mysql_num_rows($q) == 1){

//van ilyen felhasználó

//SESSIONök létrehozása

}

2014. máj. 6. 18:53
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
sql injektion kivédéséhez ajánlott az escapelés helyett mysqli, vagy inkább PDO-ra váltani.
2014. máj. 6. 18:55
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
48%

SELECT email FROM db WHERE password=$_GET('input_pw");

bár több kifejezés kell, ha hibaüzenetet is akarsz.

és ez az sql script csak kikeresi. ha lehet két egyforma, az lesz elől, ami előrébb van az order bynál.

meg utána a $row['email'], stb. kifejezésekkel kell dolgozni, de w3schools pont arra jó, hogy ezt megnézd (while loop, bár itt még az sem kell).

Amúgy saját megoldásom is van, forráskódot is átküldöm akár, de most csinálom még csak, funkcionalitás hiányos, ha akarod, elküldöm privátban.

2014. máj. 11. 00:04
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Köszönöm a válaszokat!

Kedves 3. válaszoló! Nagyon megköszönném, ha át tudnád küldeni a kódot, ha kész leszel vele. Nekem is sikerült valamennyit megírni, de még mindig valami hiba van (vagy elírási, vagy maga a kód nem azt hozza, amit szeretnék)!

2014. máj. 11. 10:17

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!