За последние 24 часа нас посетили 23148 программистов и 1238 роботов. Сейчас ищет 781 программист ...

Не добавляются данные в БД

Тема в разделе "PHP и базы данных", создана пользователем Hellrake, 4 май 2018.

  1. Hellrake

    Hellrake Новичок

    С нами с:
    4 май 2018
    Сообщения:
    3
    Симпатии:
    0
    Вообщем, проблема в том, что при нажатии кнопки, весь скрипт проверок и тд работает, но данные с формы в бд не заносит и ничего не пишет, не могу понять почему. БД подключена нормально - ошибки нет.

    Файл с формой(reg.php):


    PHP:
    1. <?php
    2. require 'db.php';
    3. require 'regbd.php';
    4. ?>
    5. <!DOCTYPE html>
    6. <html lang="en">
    7. <head>
    8.     <meta charset="UTF-8">
    9. </head>
    10. <body>
    11.   <CENTER>
    12.       <h1> Регистрация</h1>
    13.       <form action="reg.php" method="POST">
    14.           <input type="text" name="login" placeholder="Введите логин" value="<?php echo @$data['login']; ?>"> <p></p>
    15.           <input type="text" name="email" placeholder="Введите email" value="<?php echo @$data['email']; ?>"> <p></p>
    16.           <input type="text" name="password" placeholder="Введите пароль"> <p></p>
    17.           <input type="text" name="password_2" placeholder="Повторите пароль"> <p></p>
    18.           <button type="submit" name="do_signup">Зарегистрироваться</button>
    19.           <button type="button"><a href="index.php"> Назад </a></button>
    20.           <hr>
    21.       </form>
    22.   </CENTER>
    23. </body>
    24. </html>
    Файл подключения БД (db.php):
    PHP:
    1. <?php
    2. $db = mysqli_connect ('localhost', 'root', '','databasenew');
    3. ?>
    Файл подключения PHP к форме (regbd.php):

    PHP:
    1. <?php
    2. require 'db.php';
    3. $data = $_POST;
    4. $login = $_POST['login'];
    5. $email = $_POST['email'];
    6. $password = $_POST['password'];
    7. if ( isset ($data['do_signup']) )
    8. {
    9. // Регистр
    10.     //Проверки
    11.     $errors = array ();
    12.     if( trim($data['login']) == '' )
    13.     {
    14.     $errors[] = 'Введите логин';
    15.     }
    16.    
    17.     if( trim($data['email']) == '' )
    18.     {
    19.     $errors[] = 'Введите email';
    20.     }
    21.    
    22.     if( $data['password'] == '' )
    23.     {
    24.     $errors[] = 'Введите пароль';
    25.     }
    26.    
    27.     if( $data['password_2'] != $data['password'] )
    28.     {
    29.     $errors[] = 'Повторый пароль введен не верно';
    30.     }
    31.    
    32.     if( empty($errors) )
    33.     {
    34.      //Добавление данных с формы
    35.      
    36.       $dbr = "INSERT INTO `users` (`login`, 'email', `password`) VALUES ('$login', '$email', '$password')";
    37.       $enter = mysqli_query($db, $dbr);
    38.       echo 'Регистрация';  
    39.     } else
    40.     {
    41.         echo '<div style="color: red;">'.array_shift($errors).'</div><hr>';
    42.     }
    43. }
    44. ?>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
  3. Hellrake

    Hellrake Новичок

    С нами с:
    4 май 2018
    Сообщения:
    3
    Симпатии:
    0
  4. Hellrake

    Hellrake Новичок

    С нами с:
    4 май 2018
    Сообщения:
    3
    Симпатии:
    0
    Вход через БД работает нормально, без ошибок, проблема только с добавлением данных в БД
    --- Добавлено ---
    Все, проблему решил, оказалось, что я задал в файле (regbd.php) переменные $login, $email в не переменной do_signup.Странно, только, что error ничего не сказал, мб я не там обьявил..Всем спасибо);)фуууф
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    круто, это отлично!
    а теперь разберись с инъекциями! :D