Регистрация/Авторизация

219
28 сентября 2017, 15:40

Подскажите как сделать чтобы когда пользователь заполнил поля регистрации/авторизации и в случае ошибки при обновлении странички введенные поля не опустошались.

Пример кода:

<?php
    session_start();
?>
<!DOCTYPE html>
<html>
<head>
    <?php
        $title = "Регистрация";
        require_once "blocks/head.php";
    ?>
</head>
<body>
    <?php require_once "blocks/header.php" ?>       
<div class="block_for_messages">
    <?php
        if(isset($_SESSION["error_messages"]) && !empty($_SESSION["error_messages"])){
            echo $_SESSION["error_messages"];
            unset($_SESSION["error_messages"]);
        }
        if(isset($_SESSION["success_messages"]) && !empty($_SESSION["success_messages"])){
            echo $_SESSION["success_messages"];
            unset($_SESSION["success_messages"]);
        }
    ?>
</div>
<?php
    //Проверяем, если пользователь не авторизован, то выводим форму регистрации, 
    //иначе выводим сообщение о том, что он уже зарегистрирован
    if(!isset($_SESSION["email"]) && !isset($_SESSION["password"])){
?>
    <form action="register.php" method="post" name="signup">
        <div id="wrapper">
            <div id="regy">
                <h1 align="center">tAKNYT</h1>
                <input type="text" placeholder="Имя и Фамилия" required="required" name="fullName" ><br />
                <input type="text" placeholder="Имя пользователя" required="required" name="username"><br />
                <input type="text" placeholder="Email" required="required" name="email"><br />
                <span id="svalid_email_message" class="mesage_error"></span>
                <input type="password" placeholder="Пароль" id="password" name="password"><br />
                <span id="svalid_password_message" class="mesage_error"></span>
                <div id="pacl">
                        <input type="submit" name="btn_submit_register" value="Зарегистрироваться!">
                </div>
            </div>      
        </div>  
    </form>
<?php
    }else{
?>      
    <div id="authorized">
        <h2>Вы уже зарегестрированы</h2>
    </div>  
<?php   
    }
    require_once "blocks/footer.php" 
?>
</body> 
</html>
Answer 1

Сперва запоминаешь в сессии значения с формы, а когда выводишь форму в тэг value формы подставляешь эти значения. После этого удаляешь эти переменные из сессии.

<?php
if ($_SERVER["REQUEST_METHOD"] == 'POST') {
    $_SESSION["oldFullName"] = $_POST["fullName"];
};
?>
<form action="register.php" method="post" name="signup">
    <input type="text" placeholder="Имя и Фамилия" required="required" 
    name="fullName" value="<?php echo  $_SESSION["oldFullName"] ?>"
</form>
<?php
    unset($_SESSION["oldFullName"]);
?>
READ ALSO
как скрыть данные php

как скрыть данные php

у меня есть таблица с данными пользователей, и у каждого есть дата окончанияесли у пользователя пройдет 5 дней после даты окончания то его...

190
Mysqli запрос ошибка UPDATE

Mysqli запрос ошибка UPDATE

Хочу изменить confirm там где email и id ровны GET-овским даннымЯ новичок в mysqli потому такие ошибки и сотворяю

197
Общее число кликов яндекс директа api v5

Общее число кликов яндекс директа api v5

Делаю json запрос на api v5, как не используя методы api v4 получить общее число кликов со всех компаний и общий бюджет? (без подсчета каждой кампании...

154
Вопросы вместо текста, подключение к бд которой нет

Вопросы вместо текста, подключение к бд которой нет

В общем это даже не проблема, просто любопытство не дает покояЕсть код PHP, который пытается установить соединение с несуществующей бд

204