VoxelGod
@VoxelGod
Настройка шаблонов WordPress

Почему не работает $_POST(Регистрация)?

Здравствуйте! Предоставляю вам блок кода, отвечающий за регистрацию. Обнаружил очень интересное явление: Если я вставляю данный блок в sidebar.php(абсолютно чистый), то код работает. А вот если на отдельный шаблон page-reg.php, в котором указываю его название и подключаю к wordpress через атрибуты страницы, то формы выводятся, но данные в бд не отправляются.
Чтобы отрезать варианты ответа:
- когда я код помещаю в sidebar, то, естественно, action меняю на sidebar.php
- # в mysqli_connect значит, что я просто данные палить не хочу

<form name="regform" action="page-reg.php" method="post">
        <input type="text" name="nick" placeholder="Ник" required> <br>
        <input type="text" name="login" placeholder="Логин" required> <br>
        <input type="text" name="password" placeholder="Пароль" required> <br>
        <input type="text" name="r_password" placeholder="Повторите пароль" required> <br>
        <input type="submit" name="reg">
        <?php
        $db = mysqli_connect("#");

        if (isset($_POST['reg'])) {
            $nick = $_POST['nick'];
            $login = $_POST['login'];
            $password = $_POST['password'];
            $r_password = $_POST['r_password'];

            if ($password == $r_password) {
                $password = md5($password);
                //Запись всех значений в базу данных
                $query = "INSERT INTO camp_users VALUES('','$nick','$login', '$password', 'user')";
                $result = mysqli_query($db, $query);
                header("Location: index.php");

            } else {
                echo "Пароли не совпадают!";
                $hasError = true;
            }
        }


        mysqli_close($db);
        ?>

    </form>


Заранее спасибо за ответы!
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
dimasmagadan
@dimasmagadan
у вас не корректно указан action формы.
но правки только этой части в этом коде будет не достаточно. ваш код не безопасен. в текущем виде на рабочий сайт вставлять нельзя.

если вы планируете использовать его на сайте с WordPress, почему бы не воспользоваться встроенными в движок функциями?
https://codex.wordpress.org/Function_Reference/wp_...
или
https://codex.wordpress.org/Function_Reference/wp_...

в крайнем случае, если эти функции по какой-то причине не подходят, можно воспользоваться функциями движка для работы с базой данных.
https://codex.wordpress.org/Class_Reference/ru:wpd...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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