Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP. Нужно проверить изменения формы страницы

1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Есть задача: следует проверять, обновилbcm ли поля формы на веб странице с последней ее проверки или нет.

Решение (как я думаю): нужно взять страницу, найти в ней тег FORM и все элементы этого тега (input, option, img ...) нужно поместить в массив. Далее, когда потребуется проверить, изменилось ли что-то в форме, то мы опять же разобьем страницу и поместим ее в массив, сравним текущий и прежний массивы. Если масивы совпадают - то считаем что форма осталась прежней.

Однако в таком похходе есть свои минусы.
Во-первых, если в теге FORM будет присутствовать поле action в котором будет указан SID (он меняется постоянно), тогда при каждой новой загрузке страницы будет меняться и значения action.
Во-вторых, картинка подтверждения (графический код) будет при каждой загрузке страницы меняться.
В-третьих, некоторые формы располагаются не полностью на одной странице, а располагаются на нескольких страницах (ввод имени и мейла на одной, заполнение остальных данных на другой странице).

Подскажите пожалуйста, как можно решить эту задачу, чтобы избавиться от указанных недостатков.
Заранее Вам благодарен!
244
10 ноября 2006 года
UAS
2.0K / / 19.07.2006
Цитата:
Во-первых, если в теге FORM будет присутствовать поле action в котором будет указан SID (он меняется постоянно), тогда при каждой новой загрузке страницы будет меняться и значения action.

\
Что тебе мешает путём использования preg_replace удалить эти SID?

Цитата:
Во-вторых, картинка подтверждения (графический код) будет при каждой загрузке страницы меняться.


Что тебе мешает при сравнении формы просто не учитывать картинки?

Цитата:
В-третьих, некоторые формы располагаются не полностью на одной странице, а располагаются на нескольких страницах (ввод имени и мейла на одной, заполнение остальных данных на другой странице).


Считываешь инфу с каждой страницы, засовываешь всё в один массив, и сравниваешь...

Вопрос от меня... А зачем такая мудотень нужна?

337
10 ноября 2006 года
shine
719 / / 09.06.2006
Насколько подробно тебе нужно отлавливать изменения? Тебе это нужно делать для каждого элемента формы или только для формы вцелом?
13
10 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
Можно не мудрить со сравнением массивов, а просто выделить форму из страницы и сравнить ее MD5 с хэшем прежней версии...
1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
 
Код:
Насколько подробно тебе нужно отлавливать изменения? Тебе это нужно делать для каждого элемента формы или только для формы вцелом?


Нужно сравнивать все элементы, за исключением картинок. Предположим что форма имела 10 категорий в раскрывающемся списке, а теперь она пополнилась еще двумя пунктами. Следует отловить эти изменения.

 
Код:
Вопрос от меня... А зачем такая мудотень нужна?

У меня есть система, которая проверяет некоторые сайты, например, доски объявлений. Мой скрипт зайдет на доску, посмотрит что в ней изменилось и мообщит мне (или сам пополнит список полей). Я в свою очередь смогу отредактировать данные.

Если кто знает как реализовать такую систему, и готов сотрудничать со мной, то я готов заплатить за это денежку.
256
10 ноября 2006 года
foxweb
1.0K / / 27.07.2005
а механизм сессий зачем нужен? всё просто и понятно, никакого геммороя. недавно сдал крупный проект с многопользовательской системой управления. в сессионнных массивах я хранил данные пользователя и его права. ничто не мешает хранить в сессиях данных предыдущих форм.

или я опять не по теме?
1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
foxweb, здесь дело в том, что я работаю с сайтами, структуру которых я не знаю, и не знаю что им всбредет в голову. Может они сесии используют, может куки. Однако я беру страницу с помошью PHP, поэтому куки прискаивать будет некому, и данные будут передаваться в строках запроса к странице.
13
10 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
Если честно, то я не вижу проблемы...
Или тебе непонятно как парсить HTML?
1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
RussianSpy, я думаю что есть инструмент, который будет наподобие парсера XML но для html. И при этом этот компонент должен выделять только то, что стоит внутри тега FORM, учитывая свойстра тега, наподобие action, height и т.д.
13
10 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
http://ru.php.net/manual/ru/ref.tidy.php
Если формат страницы XHTML - подойдет любой XML-парсер
1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
RussianSpy, спасибо, посмотрю на эту вешь.
Если ты работал с эти или хотел бы реализовать эту задачу, то можем поговорить. А то у меня есть большой проект, а сроки уже поджимаютю Главное в данном случае - идеи хорошие и качественное выполнение на перспективу. С оплатой можем обговорить, если возьмешься
13
10 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
я не буду с тобой работать и ты прекрасно знаешь почему...
Помочь советом на форуме - легко (чем я собственно и занимаюсь).
Могу также посоветовать покопать PEAR и сайт phpclasses.org - может найдешь уже реализованные классы. Только копать там долго.
1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
RussianSpy, спасибо за совет!
Если не ошибаюсь, то мы с тобой по АСЕ разговор вели? Видать в этом причина, что ты не хочешь сотрудничать?
13
10 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
Да.
Кстати еще могу совет подкинуть (прям как в стране советов блин):

поиск по исходникам:
google.com/codesearch
387
10 ноября 2006 года
Ihbif19
421 / / 28.10.2004
:) :) :)
Я уже валяюсь
1.9K
10 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
RussianSpy, спасибо за совет. Действительно не знал, что есть такая прекрастная вещица!
12
12 ноября 2006 года
alekciy
3.0K / / 13.12.2005
[QUOTE=eliteMOBILE.net]RussianSpy, я думаю что есть инструмент, который будет наподобие парсера XML но для html. [/QUOTE]
Угу. Есть такой. DOM называется ;) Парсить и работать с кодом можно прямо на клиенте через JS.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог