Может ли кто-нибудь помочь мне, пожалуйста, потому что я не знаю, где ошибка !
Notice: Undefined index: First Name in C:\xampp\htdocs\egx\code2.php on line 3 Notice: Undefined index: Second Name in C:\xampp\htdocs\egx\code2.php on line 4 Notice: Undefined index: Email in C:\xampp\htdocs\egx\code2.php on line 5 Notice: Undefined index: password in C:\xampp\htdocs\egx\code2.php on line 6 Error:You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Name,Second Name,Email,Password) VALUES('','','','')' at line 1
Что я уже пробовал:
<?php require_once('connection.php'); $n1=$_POST['First Name']; $n2=$_POST['Second Name']; $e=$_POST['Email']; $p=$_POST['password']; $ins="INSERT INTO signup(First Name,Second Name,Email,Password) VALUES('$n1','$n2','$e','$p')"; if(!mysqli_query($conn,$ins)) {die("Error:" . mysqli_error($conn));} else echo "your information was inserted successfully"; ?>
0x01AA
1.) из того, что я помню, пробелы в значении ключа будут автоматически заменены подчеркиванием. Следовательно $n1=$_POST['First Name'];
становится $n1=$_POST['First_Name'];
Но это не объясняет ошибок в строках 5 и 6 . :(
2.) Ваш код опасен. Используйте параметризованные запросы вместо построения SQL непосредственно с помощью пользовательского ввода
Richard MacCutchan
Проблема, как отмечается в строках 3,4,5 и 6, заключается в том, что эти имена индексов никогда не были определены на веб-странице. Эти сообщения не относятся к ошибке в SQL, то есть к последнему сообщению.
0x01AA
Да, я знаю об этом. Но я думаю, что когда это будет решено, пространство в некоторых ключевых значениях будет следующей проблемой?
Richard MacCutchan
Вы правы, но обратите внимание, что @Email' и 'password' также не определены.
Richard MacCutchan
В коде, который вы показали выше, чего-то не хватает. Где находятся предметы, упомянутые в $_POST
массив?
Richard Deeming
Исправьте уязвимости SQL-инъекций в вашем коде:
PHP: SQL-инъекция - руководство пользователя[^]
Затем исправьте хранение паролей, используя встроенные функции PHP:
PHP: password_hash[^]
РНР: функцию password_verify[^]