2016-02-01 3 views
1

У меня есть некоторые html-формы, которые я проверяю полноту с помощью php. Проблема заключается в том, что когда одна требуемая форма не заполняется, заполненные формы очищаются.Каков наилучший способ проверки форм без их очистки?

HTML-

<p>Email: <span class="required">* <?php echo $EmailErr;?></span><input type="text" name="Email" placeholder="Email" /></p> 
<p>Comments: =input type="text" name="Comments" maxlength="75" placeholder="Comments"/></p> 

Это PHP

if (empty($_POST["Email"])) { 
    $EmailErr = ""; 
    } else { 
    $Email = validateEmail($_POST["Email"]); 
    }   

    if (empty($_POST["Comments"])) { 
    $Comments = ""; 
    } else { 
    $Comments = test_input($_POST["Comments"]); 
    } 

остается вопрос, как предотвратить другие формы от очищаются при подаче?

+1

вы предотвращаете их очистку, вы заполняете форму заполненными значениями 'значение = $ _ POST ['what ever']' –

+0

форм или полей? они очень разные. –

ответ

1

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

При этом вам все равно придется проверять сервер.

Существует другой способ сделать это, используя JavaScript/JQuery или даже просто добавить required атрибут тега, например:

<input type="text" name="Email" placeholder="Email" required/> 

для JavaScript:

http://www.w3schools.com/js/js_validation.asp

для JQuery , вот хороший плагин:

http://jqueryvalidation.org/

+0

Я проверяю формы посредством функций для очистки ввода, поскольку они вставляются в базу данных sql. –

+0

вы все еще можете сделать это на сервере, как только клиент проверит его – meda

+0

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

0
<p> 
    Email: <span class="required">*<?php echo $EmailErr; ?></span> 
    <input type="text" name="Email" placeholder="Email" value="<?php echo!empty($_POST['Email']) ? htmlspecialchars($_POST['Email']) : '' ?>"/> 
</p> 
<p> 
    Comments: <textarea name="Comments" maxlength="75" placeholder="Comments"><?php echo!empty($_POST['Comments']) ? htmlspecialchars($_POST['Comments']) : '' ?></textarea> 
</p> 
Смежные вопросы