Сохраняем поля ввода

govnoproger.ru > php > Сохраняем поля ввода

Хм, к примеру у вас есть сайт. На нём форма комментариев. Юзер заполняет поля ввода (имя, емаил и тп.), отсылает комментарий.
При следующей перезагрузке страницы ему вновь их нужно вводить.
Это неприятно, это очень сильно напрягает. Но в вордпрессе благо такого нету, хотя есть и на многих движках…

Есть 2 способа решения проблемы:

  • Сессии — их отметаем сразу.
  • Cookies — вот этим мы и будем пользоваться.

Итого содержимое полей мы будем сохранять в cookies.

Следующий вопрос: Как мы будем устанавливать cookies?

  • Используя javascript + PHP — Вы просто добавляете обработчик на кнопку комментариев, при нажатие которой сохраняется cookies с данными.
  • Используя PHP — Это несомненно проще. После приёма комментария берем имя, емаил, (тоесть данные полей) и пихаем в cookies.

Рассмотрим на примере только саму суть:

Итак это происходит после нажатия кнопки — послать комментарий.
Ищите в вашем движке место, которое принимает комментарий.

//тут мы принимаем данные полей юзера, я написал только имя.
$comment_author = trim($_POST['author']);
//смотрим далее
//тут и происходит установка cookies функцией setcookie. Можете хранить имя просто текстом в cookies.

setcookie('comment_author', $comment_author, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);

Итак используя setkookie данные полей вернутся к юзеру в виде cookies при следующем заголовке.

Далее наша задача вынуть эти данные и подставить в поля ввода.
Ищите место в вашем движке где поля ввода имя, емаил и тп, типа:

<input name="avtor_name" type="text" />

Нашли место, делаем далее:

if ($user_name) $user_name = $_COOKIE['comment_author'];

//дальше наше место с input
echo '<input name="avtor_name" type="text" value="'.$user_name.'" />';

Как видите просто подставляем в value.
Не забудьте использовать фильтрацию.

Рекомендую:

6.6.2011 | последняя редакция: 06.06.2011 |