Неопределенная ошибка индекса РНР
Я пытался создать страницу входа в систему с помощью 000webhost, и эта ошибка продолжает появляться, и я знаю, что есть тонны этих королевских вопросов повсюду, но я все еще не могу ее исправить
это и есть ошибка
Обратите внимание: неопределенный индекс: активен в /storage/ssd1/326/5052326/public_html/login.php на линии 14
Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начинается с /storage/ssd1/326/5052326/public_html/login.php:14) в /storage/ssd1/326/5052326/public_html/login.php на линии 23
а это и есть код
<?php include("config.php"); session_start(); // username and password sent from form if($_SERVER["REQUEST_METHOD"] == "POST") { $myusername = mysqli_real_escape_string($db,$_POST['username']); $mypassword = mysqli_real_escape_string($db,$_POST['password']); $sql = "SELECT * FROM admin WHERE username = '$myusername' and password = '$mypassword'"; $result = mysqli_query($db, $sql); $row = mysqli_fetch_array($result,MYSQLI_ASSOC); $active = $row['active']; $count = mysqli_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count == 1) { $_SESSION['login_user'] = $myusername; header("location: welcome.php"); }else { $error = "Your Login Name or Password is invalid"; } } ?>
Что я уже пробовал:
даже мой учитель не смог это исправить
Richard Deeming
В дополнение к уязвимости SQL-инъекции, упомянутой в решениях, вы также храните пароли в виде обычного текста.
Я понимаю, что это всего лишь школьный проект, а не то, что будет использовано в реальной жизни. Но я надеюсь, что ваш учитель объяснит, почему хранить такие пароли-ужасная идея. :)
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]