Как сохранить данные формы после неполной отправки формы - PullRequest
0 голосов
/ 19 октября 2018

Это мой код, PHP

if(isset($_POST['submit'])){

if (empty($_POST["name"])) {
    $NameErr = "Name is required";
} else {
    $name = Test_User_Input($_POST["name"]);
    $name = mysqli_real_escape_string($connection , $name);
}

if (empty($_POST["contact"])) {
    $ContactErr = "Contact is required";
} else {
    $contact = Test_User_Input($_POST["contact"]);
    $contact = mysqli_real_escape_string($connection , $contact);
}

if (empty($_POST["email"])) {
    $EmailErr = "Email is required";
} else {
    $email = Test_User_Input($_POST["email"]);
    $email = mysqli_real_escape_string($connection , $email);
}

if (empty($_POST["pan"])) {
    $PanErr = "PAN is required";
} else {
    $pan = Test_User_Input($_POST["pan"]);
    $pan = mysqli_real_escape_string($connection , $pan);
}

if (empty($_POST["dob"])) {
    $DobErr = "DOB is required";
} else {
    $dob = Test_User_Input($_POST["dob"]);
    $dob = mysqli_real_escape_string($connection , $dob);
}

if (empty($_POST["gender"])) {
    $GenderErr = "Gender is required";
} else {
    $gender = Test_User_Input($_POST["gender"]);
    $gender = mysqli_real_escape_string($connection , $gender);
}



if (!empty($name) && !empty($contact) && !empty($email) && !empty($pan) && 
!empty($dob) && !empty($gender){
$query = "INSERT INTO form ( name, contact, email, pan, birthday, 
gender )VALUES ('$name' , '$contact' , '$email' , '$pan' , '$dob' , 
'$gender')";
} 
if ($insert_query) {
    echo "Form Filled";
} else {
    echo "Please Fill the form";
}


}
function Test_User_Input($Data)
{
    return $Data;
}   

HTML

<form action="" autocomplete="off" method="post">
                            <div class="col-md-6 col-sm-6 col-xs-12 marB20">
                                <div class="form-group-kyc">
                                    <label>Full Name:</label><span class = "error_msg"><?php echo $NameErr; ?></span>
                                    <input type="text" name="name" id="name" placeholder="Full Name" class="form-control-kyc" value="<?php echo isset($_POST['name']) ? $_POST['name'] :' '?> ">
                                </div>
                            </div>
                            <div class="col-md-6 col-sm-6 col-xs-12 marB20">
                                <div class="form-group-kyc">
                                    <label>Contact Number:</label><span class = "error_msg"><?php echo $ContactErr; ?></span>
                                    <input type="text" name="contact" id="contact" placeholder="Contact Number" class="form-control-kyc" value="<?php echo isset($_POST['contact']) ? $_POST['contact'] : '' ?> ">
                                </div>
                            </div>
                            <div class="col-md-6 col-sm-6 col-xs-12 marB20">
                                <div class="form-group-kyc">
                                    <label>Email Id:</label><span class = "error_msg"><?php echo $EmailErr; ?></span>
                                    <input type="email" name="email" id="email" placeholder="Email id" class="form-control-kyc" value="<?php echo isset($_POST['email']) ? $_POST['email'] : '' ?> ">
                                </div>
                            </div>
                            <div class="col-md-6 col-xs-12 col-sm-6 marB20">
                                <div class="form-group-kyc">
                                    <label>PAN:</label><span class = "error_msg"><?php echo $PanErr; ?></span>
                                    <input  type="text" name="pan" id="pan" placeholder="PAN Card No." class="form-control-kyc" value="<?php echo isset($_POST['pan']) ? $_POST['pan'] : '' ?> ">
                                </div>
                            </div>
                            <div class="col-md-6 col-xs-12 col-sm-6 marB20">
                                <div class="form-group-kyc">
                                    <label>DOB:</label><span class = "error_msg"><?php echo $DateErr; ?></span>
                                    <input  type="date" name="dob" id="dob" placeholder="DOB." class="form-control-kyc" value="">
                                </div>
                            </div>
                            <div class="col-md-6 col-xs-12 col-sm-6 marB20">
                                <div class="form-group-kyc">
                                    <label>Gender:</label> <span class = "error_msg"><?php echo $GenderErr; ?></span>
                                    <select name ="gender" id = "gender" class="form-control-kyc">
                                    <option value="male"> Male </option>
                                    <option value="female"\> Female </option>
                                    </select>
                                </div>
                            </div>
    <div class="col-md-12 marT30">
   <div class="form-group-kyc">
   <input type="submit" 
   id="submit" name = "submit" class="itg-button" value="Submit">
                                                </div>
    </form>

Я хочу знать, когда пользователь не в состоянииотправить форму, как я могу сохранить значения формы, чтобы пользователю не пришлось ее заполнять.Кроме того, если пользователь забывает заполнить одно значение, как сосредоточиться на этом конкретном поле .?

ТАКЖЕ
при отправке формы и обновлении страницы, форма сноваПополняется и данные отправляются снова.Как я могу предотвратить это?

Один из вариантов - перенаправить на другую страницу после отправки, но снова, когда пользователь нажмет кнопку «Назад», данные формы снова отправляются.

Есть ли что-нибудь?вот что можно сделать?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Для сохранения заполненных значений полей.

<input type="text" name="name" id="name" placeholder="Full Name" class="form-control-kyc" value="<?php echo if(isset($_POST['$name'])? $_POST['name'] : ''; ) ?>">

Чтобы избежать автоматической повторной отправки данных, вы можете проверить, нажата кнопка отправки или нет, если данные формы не будут добавлены вБаза данных и перенаправить его в index.php

<?php
 if(isset($_POST['your-submit-button-name'])){
    //within this curly brackets add your codes
}else{
   header('Location: index.php');
   die();
}
?> 
0 голосов
/ 19 октября 2018

Если вы хотите сохранить сохраненные значения, вы можете просто вернуть значение сообщения обратно, как показано ниже.

<input type="text" name="name" id="name" placeholder="Full Name" class="form-control-kyc" value="<?php echo isset($_POST['name']) ? $_POST['name'] : '' ?>">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...