2015-07-20 1 views
0

У меня возникла проблема с моей регистрационной формой, , когда кто-то заполняет форму, и есть некоторые недостающие входы, мой PHP-код будет запущен, что некоторая информация отсутствует, проблема в том, что форма будет сброса, правильная информация не отображаются как значения для их входов, это сделает пользователь заполнит всю форму снова, даже если он делает только одну ошибкуформа значения ввода исчезли после появления ошибок

Я попытался <?=$_SERVER['PHP_SELF']?> и register.php как формы действий

+0

возможно использовать JQuery Validate – brandelizer

+2

опубликовать code..it поможет вам ответить better..and, как @brandelizer сказал, почему ты не используя jquery на фронте, а позже проверили на бэкэнд с PHP – Ankit

ответ

1

Вы должны проверить, не заполнены ли информация, заполненная пользователем, или неправильно, перед отправкой значений на другую страницу. Например, вы имеете в register.html форму так:

<form method="POST" name="form1" action="page.php" onsubmit="return fieldCheck()"> 

и в конце ini.html просто создать яваскрипт функцию, которая будет проверять дифферент поле, такие как:

<script> 
    function fieldCheck(){ 
     var var1 = document.getElementById('va1').value; // here you put every var you want to check in your form by using their id 

     if(var1 == "" || var1 == " "){ 
      alert("Please fill var1"); 
      return false; // The form WILL NOT submit 
     } else { // if everything is OK then you can submit the form 
      return true; 
     } 
    } 
    </script> 

Итак, если DATAS неправильно заполнены, форма не будет отправлена, и вы не потеряете свои данные, потому что пользователь не будет перенаправлен.

Существует еще одно решение: добавить required в input пользователь ДОЛЖЕН заполнить. Если он этого не сделает, появится небольшая коробка, в которой указано, что поле должно быть заполнено.

1

Проблема в том, что вам нужно установить значения, полученные сервером, на результирующую страницу.

Например, если ваша страница отправки имеет следующую конфигурацию.

<form action="index.htm" method="POST"> 
    First Name: <input type="text" name="fname"<br> 
    Last Name: <input type="text" name="lname"<br> 
</form> 

Когда пользователь отправляет вам необходимо получить два значения:

$_GET["fname"] и $_GET["lname"]

В этом случае в начале index.html вы должны хранить полученные значения, а затем сделать свою проверку проверки. Если проверка достоверности терпит неудачу, то просто отправить страницу назад со значениями по умолчанию установлен

<?php 
if(isset($_GET['submit'])) 
{ 
    $fname=$_POST['lname']; 
    $lname=$_POST['fname']; 
} 

// your validation code 
?> 
... 
<form action="index.htm" method="POST"> 
    First Name: <input type="text" name="fname" value="<?php echo (isset($fname))?$fname:'';?>"<br> 
    Last Name: <input type="text" name="lname" value="<?php echo (isset($lname))?$lname:'';?><br> 
</form> 
Смежные вопросы