За последние 24 часа нас посетили 6582 программиста и 523 робота. Сейчас ищут 135 программистов ...

не получается зарегистрировать пользователя и добавить его в базу данных

Тема в разделе "PHP для новичков", создана пользователем selivanov, 13 мар 2018.

  1. selivanov

    selivanov Новичок

    С нами с:
    1 фев 2017
    Сообщения:
    118
    Симпатии:
    4
    не знаю почему при регистраций пользователя по емэйлу не добавляется в бд вроде все написал без ошибок:
    перенаправление после регистраций на эту же стр

    <?php
    if (isset($_POST['reg'])) {
    $email = htmlspecialchars($_POST['email']);
    $bad = false;
    session_start();
    unset($_SESSION['error_email']);
    unset($_SESSION['index_succes']);
    if (strlen($email) < 3 || strlen($email) > 32) {
    $_SESSION['error_email'] = 1;
    $bad = true;
    }
    if (!$bad) {
    $mysqli = new mysqli("localhost", "root", "", "test.user");
    $mysqli->query("INSERT INTO regemail('email')VALUES('$email')");
    $mysqli->close();
    $_SESSION['index_succes'] = 1;
    header("Location: " . $_SERVER["REQUEST_URI"]);
    }
    }
    ?>
    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport"
    content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    </head>
    <body>
    <form action="" method="post">
    Зарегистрироватся:<input type="email" name="email"/>
    <input type="submit" name="reg" value="ok">
    </form>
    </body>
    </html>
     
  2. mkramer

    mkramer Суперстар

    С нами с:
    20 июн 2012
    Сообщения:
    5.825
    Симпатии:
    1.041
    Оформи код через кнопочку </> в верхнем левом углу.
    Это зачем?
    А если я в e-mail имя, фамилию, отчество, дату рождения прописью и день рождение дедушки записал? 32 символа....

    Не защищено от инъекций. А так, выведи этот запрос, скопипасть в phpMyAdmin и посмотри, что mysql тебе на это скажет. Хотя, уже знаю. Надо в обратные апострофы имена полей заключать, а не в обычные. Обратный апостроф - там где буковка Ё на клавиатуре :)
     
  3. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    210
    Симпатии:
    14
    Наверняка не проверял построчно, что бы выявить где ошибка?
     
  4. Dron-Boy

    Dron-Boy Активный пользователь

    С нами с:
    20 ноя 2014
    Сообщения:
    905
    Симпатии:
    112
    Последнее время все новички заливают код без оформления, мне кажется нужно админам придумать какойнить запрет на вставку кода без оформления.
    а если по делу то сверху тебе ответили проверь запрос свой на работоспособность
    PHP:
    1. $mysqli->query("INSERT INTO `regemail` (`email`)VALUES('$email')");
    Вроде так