Вопрос № 126913: Здравствуйте, я совсем новичок в создании сайтов. У меня вопрос, где найти подробное обучение для создания полей для ввода текста на странице, которые автоматически будут к ней присоединяться? Т.е. как мне сделать поля для комментариев и для того что...
Вопрос № 126.913
Здравствуйте, я совсем новичок в создании сайтов. У меня вопрос, где найти подробное обучение для создания полей для ввода текста на странице, которые автоматически будут к ней присоединяться? Т.е. как мне сделать поля для комментариев и для того чтобы посетители моего сайта могли оставить отзыв? Заранее спасибо!
Отправлен: 12.03.2008, 10:56
Вопрос задал: Nekit (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Иван Сергеевич
Здравствуйте, Nekit!
Типовой код приведен в приложении. Это стандартный механизм, передающий в скрипт, указанный в свойстве ACTION формы, значения всех именованных полей формы (т.е. полей, имеющих параметр name). В моем примере скрипт получит POST-строку вида:
author=%EF%F0%EE%F5%EE%E6%E8%E9&comment=%F2%E5%F1%F2+%F2%E5%F1%F2
Как видно, русские буквы и пробелы декодировались. Браузер делает это автоматически.
Теперь в скрипте осталось только обработать полученные переменные ($_REQUEST['author'] и $_REQUEST['comment']), и если все нормально, то добавить в базу данных комментарий. Это простейший пример. В приложении добавил ссылку на пример более подробной формы для ввода данных пользователя.
Недостатки такого подхода - нет проверки данных на корректность. Можно добавить javascript-функцию проверки вводных данных (назовем ее checkData()) и добавить обработчик в кнопку Отправить (см. Приложение).
Подробнее о формах и их элементах (и вообще о создании страниц HTML) можно узнать на сайте http://htmlbook.ru/content/ (раздел Формы)
Приложение:
Ответ отправил: Иван Сергеевич (статус: 3-ий класс)
Ответ отправлен: 12.03.2008, 11:33 Оценка за ответ: 5 Комментарий оценки: Спасибо, сейчас обязательно зайду на сайт и также попробую предложенный Вами вариант! Спасибо Иван Сергеевич.
Отвечает: Евсюков Виталий Евгеньевич
Здравствуйте, Nekit!
Данную задачу можно решить только с помощью скриптов. Для отправки данных используйте форму отправки, в атрибуте action тега формы указывается путь к этому скрипту. Проверку на стороне клиента КАТЕГОРИЧЕСКИ не рекомендуется делать по соображениям безопасности. Удалить все небезопасные символы можно с помощью функции preg_replace в PHP (в Perl она, по-моему, также есть). Код формы Вам написали, примерная структура скрипта такова:
Получение значений переданных в скрипт параметров
Удаление всех опасных символов (< > ? ' и т.д.)
Запрос к базе данных INSERT INTO posts VALUES ($author, $date_comment, $email, $homepage, $comment)
При запросе к скрипту без параметров - вывод всех запеисей из таблицы оператором SELECT * FROM posts
Вывод результатов в удобном виде
--------- I Aear can ven na Mar
Ответ отправил: Евсюков Виталий Евгеньевич (статус: 3-ий класс)
Ответ отправлен: 13.03.2008, 17:12 Оценка за ответ: 5