Пытаюсь войти в систему, но получаю ошибки в имени пользователя и пароле
привет, у меня есть форма входа в систему, где я пытаюсь войти, но получил эти ошибки с именем пользователя и паролем.
( ! ) Notice: Undefined index: username in C:\wamp64\www\FormTutorial\php\luana_login.php on line 6
( ! ) Notice: Undefined index: password in C:\wamp64\www\FormTutorial\php\luana_login.php on line 7
может ли кто-нибудь указать мне правильное направление, как это исправить? это то, что я пробовал
Что я уже пробовал:
<pre><?php // capture values from the form and store in php variables $username=$_POST['username']; $password=$_POST['password']; //connection to the database $db_host='localhost'; $db_username='root'; $db_password=""; $con=mysqli_connect($db_host, $db_username, $db_password) or die (mysqli_connect_error()); //select the database to query mysqli_select_db($con, 'staff') or die (mysqli_error($con)); $sql="SELECT * FROM applicant WHERE username ='$username' AND password=md5('$password')"; $result=mysqli_query($con,$sql) or die ("Error:" .mysqli_error($con)); $rowcount=mysqli_num_rows($result); if($rowcount == 1) { session_start(); $_SESSION['user']=$username; header("location:luana_profile.php"); } else { echo"<script type=\"text/javascript\"> alert('username and password doesn't exist'); window.location\"../xhtml/luana_login.html\"; </script>"; } mysqli_close($con); ?>
Richard MacCutchan
Эти метки не могут быть найдены в HTML веб-страницы.
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
PHP: SQL-инъекция - руководство пользователя[^]
Richard Deeming
Кроме того, несоленый хэш MD5 не намного лучше, чем хранение пароля в обычном тексте. Вы должны использовать встроенные функции для безопасного управления вашими паролями:
PHP: password_hash[^]
РНР: функцию password_verify[^]