Почему мой PHP код не вставляется:
всем привет
я пытаюсь вставить в свою базу данных, но по какой-то причине она не вставляется. он работал хорошо некоторое время назад, но по какой-то причине он не будет работать, а значит, он перестанет вставлять имена в базу данных. когда я запускаю его, он возвращается на мою корневую страницу, то есть на индексную страницу, но информация из регистрационной формы не вставляется в базу данных, что я и хочу сделать.
может кто-нибудь подбросить мне третий глаз, потому что мне что-то не хватает, и я должен сдать это сегодня к полуночи
вот что у меня есть
Что я уже пробовал:
<pre> <?php if(isset($_POST['enter'])) { //capture the variable from the form and store in php variables $title=$_POST['title']; $firstname=$_POST['firstname']; $lastname=$_POST['lastname']; $username=$_POST['username']; $email=$_POST['email']; $gender=$_POST['gender']; $address=$_POST['address']; $mypwd=$_POST['mypwd']; include'db_server.php'; //select the database you want to query $sql="SELECT * FROM members WHERE username='$username'"; $result= mysqli_query($conn, $sql) or die ("ERROR:" .mysqli_error()); $rowcount=mysqli_num_rows($result); if($rowcount >= 1) //checking to see if usernamename is already exist { echo "<script type=\"text/javascript\"> alert('Username already exits'); window.location=\"../login_user.html\"; </script>"; } else { //insert data into table $sql = "INSERT INTO members VALUES('$title', '$firstname', '$lastname', '$username', '$email', '$gender', '$address', md5('$mypwd'))"; if(mysqli_query($conn,$sql)) { mysqli_close($conn); echo "<script type=\"text/javascript\"> alert('Username already exits'); window.location=\"../index.html\"; </script>"; } else { echo "Error inserting values into database"; } //end of line } } ?>
Richard Deeming
как я я же говорил тебе в прошлом году[^], несоленый хэш MD5 не намного лучше, чем хранение пароля в обычном тексте. Вы должны использовать встроенные функции для безопасного управления вашими паролями:
PHP: password_hash[^]
РНР: функцию password_verify[^]
divinity02
привет Ричард Диминг, это единственный способ, которым я знаю, как хэшировать пароль, это то, чему меня учили и что ищет лектор, она очень придирчива
Richard Deeming
Она тоже очень ошибается. :)
Richard Deeming
И как я тоже я же говорил тебе в прошлом году[^], ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
PHP: SQL-инъекция - руководство пользователя[^]