@sodbroil
Начинающий PHP программист.

Не заносятся данные в БД с регистрации?

Здравствуйте. Пишу регистрацию, вроде все сделал, а данные в базу данных не заносятся. Второй день не могу понять из-за чего.
register.php
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="/css/master.css">
  <title>Регистрация</title>
</head>
<body>
  <?php
 require("connect.php");

 if(isset($_POST['username']) && isset($_POST['email'])){

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

  $query = "INSERT INTO `users` (`username`, `email`, `password`) VALUES (`$username`, `$email`, `$password` )";
  $result = mysqli_query($connection, $query);

  if($result){
   $smsg="Регистрация прошла успешно";
  } else {
   $fsmsg="Ошибка";

  }

 }
?>
  <form class="decor" method="post">
  <div class="form-left-decoration"></div>
  <div class="form-right-decoration"></div>
  <div class="circle"></div>
  <div class="form-inner">
    <h3>Регистрация</h3>
    <?php  if(isset($smsg)){ ?><div class="alert alert-success" role="alert"> <?php echo $smsg; ?> </div><?php }?>
    <?php  if(isset($fsmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fsmsg; ?> </div><?php }?>
    <input type="text" placeholder="Ник" required>
    <input type="email" placeholder="Email" required>
    <input type="password" placeholder="Пароль" required>
    <input type="submit" value="Зарегистрироваться">
  </div>
</form>
</body>
</html>


connect.php
<?php
$connection = mysqli_connect('localhost', 'root', '');
$select_db = mysqli_select_db($connection, 'cs-betting');
 ?>


Не могли бы вы мне помочь?
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Выкини тот учебник, в котором тебе показали этот код, он никогда не работает.
Вот как правильно:
$stmt = $connection->prepare("INSERT INTO `users` (`username`, `email`, `password`) VALUES (?,?,?)");
$stmt->bind_param("sss", $username, $email, $password);
$stmt->execute();
$smsg="Регистрация прошла успешно";
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
`name` - поле с именем name
'name', "name" - строка name
А лучше использовать подготовленные выражения с плейсхолдерами.
https://ru.wikipedia.org/wiki/%D0%92%D0%BD%D0%B5%D...
Ответ написан
Ваш ответ на вопрос

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

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