Грешка при логин

lub4o

Registered
Здравейте, имам логин форма

Проверявам така
$sql = mysql_query("SELECT * FROM users WHERE username = '$username' and password = '$password2' LIMIT 1") or die (mysql_error());

Но, когато си тествам сайта за уязвимости със някой сканер ми показва следното:

<b>Warning</b>: md5() expects parameter 1 to be string, array given in <b>/home/spe4eli/public_html/index.php</b> on line <b>48</b><br />

Ред 48 $password2 = md5($_POST['login-password']);

<b>Warning</b>: addslashes() expects parameter 1 to be string, array given in <b>/home/spe4eli/public_html/index.php</b> on line <b>40</b><br />
Ред: 40 $username = htmlspecialchars(addslashes($_POST['login-username']));

И много ми е странно къде може да е грешката ..


<input class="login-inputs" type="text" name="login-username"/>

Логин формата работи без грешка, но тези предупреждения ...
 
Явно програмата греши от там, че $_POST тъй като е масив, си мисли че му вкарваш масив, незабелязва ключа. И между-другото ползвай PDO prepare заявки.
 
Може ли да обясниш повече за PDO заяките ?

А принципно ползвам

$errors = array(); за грешките, но не мисля, че това може да е проблема

$errors['wait5'] = 'Опитай отново след 5 минути.';


Може би наистина програмата може да бърка.


Но и грешките ги записва в error_log
 

Back
Горе