Как сохранить информацию, заполненную в форме после неверного ввода

#php #html #mysql

#php #HTML #mysql

Вопрос:

Я пытаюсь разработать PHP — страницу для взаимодействия с MySQL. Для сохранения значений в форме после недопустимого ввода я стараюсь использовать функцию session_cache_limiter («частный, должен пройти повторную проверку») и заголовок («Управление кэшем: частный, должен пройти повторную проверку»). однако все эти две функции не работают. Все содержимое формы исчезло после обновления страницы. Я не знаю, в чем проблема. Спасибо за любую помощь! это код функции session_cache_limiter, я добавляю его в самом начале блока кода PHP, перед функцией session_start.

 lt;?php  session_cache_limiter('private, must-revalidate');   session_start(); ?gt; lt;!DOCTYPE HTMLgt; lt;htmlgt; ... lt;/htmlgt;  

Для функции заголовка я добавляю это в структуру if-else, когда вместо этого происходит недопустимый ввод. Итак, код таков:

 ... lt;bodygt; lt;?php if(preg_match('/[A-Z][a-z]*s[A-Z][a-z]*/',$_REQUEST['name']) != 1){  header('Cache-control: private, must-revalidate');  echo "lt;scriptgt;alert('invalid name!')lt;/scriptgt;";    }else if(preg_match('/[w] (.[w] )*@[w] .[w] /i',$_REQUEST['email']) != 1){  header('Cache-control: private, must-revalidate');  echo "lt;scriptgt;alert('invalid email!')lt;/scriptgt;";    }else{  ...(the pdo request for MySQL)...  } ... ?gt; lt;/bodygt; ...  

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

Комментарии:

1. Эти заголовки не имеют никакого отношения к вашим целям. Если вы хотите повторно отобразить введенные данные, вы должны повторить их в правильном месте. Подумайте также о повторении сообщений об ошибках рядом с полем в форме, чтобы пользователь мог видеть их все сразу. Использование предупреждений для этого немного сложнее

Ответ №1:

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

Рекомендуется только первый вариант, но все они будут работать.