Задать вопрос
@Maxim201

Не получается сделать чтобы форма регистрации передавала данные в БД, как правильно это сделать и что заменить?

session_start();
  require_once 'connect.php';

  $name = $_POST['name'];
  $email = $_POST['email'];
  $password = $_POST['password'];

  mysqli_query($connect, "INSERT INTO `users` (`id`, `name`, `email`, `password`) VALUES (NULL, '$name', '$email', '$password')");
  $password = md5('kakdj834');
  header('location: /login.php');


$connect = mysqli_connect('localhost', 'root', '', 'register-test');

  if (!$connect) {
    die('Error connect to DataBase');
  }
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) Код с какого-то древнего ресурса, который надо закрыть за порнографию...
2) Совать в базу непроверенные строки (логин, например) крайне не желательно, так же, неплохо бы проверить что поле емэйла содержит что-то напоминающее емэйл.
3) Неплохой практикой считается проверить пришло ли что-нибудь вообще в запросе, например через var_dump($_POST);
4) Про подготовленные выражения уже пальцы устали писать каждый раз, используйте их!
5) $password = md5('kakdj834'); хэшировать черте-что после добавления в бд пароля в открытом виде - особый вид искусства...
6) нужно видеть ошибки, соответственно при подключении вызвать
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
, исполнение оборачивать в трай-кетч, если уж ловите руками...

Короче, все плохо, сжечь...
Ответ написан
Комментировать
Daemon23RUS
@Daemon23RUS
Во первых, так писать это зло, используйте PDO
Во вторых если базу создали правильно и id уникален и автоинкрементнен
mysqli_query($connect, "INSERT INTO `users` (`name`, `email`, `password`) VALUES ('$name', '$email', '$password')");
Ответ написан
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Снова регистрация... https://habr.com/ru/articles/665602/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы