2014-02-08 4 views
0

Я проверяю свою форму с помощью php и отображает сообщения об ошибках, но после каждой отправки форма обновляется, а входы снова пустые. Мне было интересно, есть ли способ, который я мог бы снова вставить в данные пользователя в поля.Сохранять данные формы после проверки php (метод POST)

Я использую метод POST.

<form id="registration-form" action="" method="post"> 


<input type="text" name="username" id="username" placeholder="Username"> 

<button type="submit" name="_submit" id="submit" class="button-submit">Submit</button> 


</form> 

PHP функция:

if(!isset($_POST['_submit'])){ 
     return array($array, $arrayexport); 
    } 

$username = $_POST['username']; 

// test function for username 

if (($valid_username) != 0) { 

array_push($array, "Input Required"); } 

else{ 

header('Location: /thankyou.php'); 
} 
+0

добавить в каждое поле '' значение =»$ _POST [field_name ']..». Очевидно, вам нужно изменить имя var и сначала проверить его с помощью isset. Обратите внимание, что таким образом вы можете практиковать и посмотреть, как работает выход, но не использовать его для реального проекта, это серьезное нарушение безопасности. Вы должны представить себе [htmlspecialchars] (http://php.net/manual/fr/function.htmlspecialchars.php) и другие функции для защиты вашего кода. – bastienbot

ответ

1

вы можете сделать что-то, как

<input type="text" name="username" 
id="username" placeholder="Username" 
value="<?php if(isset($_POST['username'])){ echo $_POST['username'];}else{ echo '';}?>"> 
+0

Это короче .. 'value =" "' – Dale

+0

.... или лучше, используйте сеанс. – itachi

+1

Да, но когда форма загружается без POST, тогда она будет иметь неопределенный индекс, и я не предпочитаю @ может быть его использован многими, но серьезно не рекомендуется –

0

сделал более чистую версию.

Благодаря Abhik Чакраборти

<input type="text" name="username" id="username" placeholder="Username" value="<?php user() ?>"> 

внешнего файла PHP:

function user(){ 
     if(isset($_POST['username'])){ echo $_POST['username'];}else{ echo '';}} 
Смежные вопросы