Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как это сделано? Жуть как интересно. Ищу литературу
 
 автор: Boris   (30.01.2014 в 07:03)   письмо автору
 
 

Добрый всем день.
Речь про добавление описаний к фотографиям Вконтакте.

Если зайти в свой фотоальбом, кликнуть фото, под ним описание. Чтобы его отредактировать описание - просто щелкаешь мышью на текст и появляется форма, редактируешь, щелкаешь в пустом месте и вуаля! На какой технологии это сделано?!
А ведь этот текст уходит в базу данных.

Хочу освоить эту технологию, но не знаю куда копать.

Поделитесь, кто знает?

  Ответить  
 
 автор: confirm   (30.01.2014 в 07:19)   письмо автору
 
   для: Boris   (30.01.2014 в 07:03)
 

Javasript

  Ответить  
 
 автор: Valick   (30.01.2014 в 09:51)   письмо автору
 
   для: Boris   (30.01.2014 в 07:03)
 

а точнее AJAX, если таки текст все же уходит в БД

  Ответить  
 
 автор: confirm   (30.01.2014 в 10:09)   письмо автору
 
   для: Valick   (30.01.2014 в 09:51)
 

На AJAX ничего нельзя сделать, это просто объект браузера выполняющий сугубо узкую задачу. А делать надо JS.

  Ответить  
 
 автор: Valick   (30.01.2014 в 10:34)   письмо автору
 
   для: confirm   (30.01.2014 в 10:09)
 

позвольте с вами не согласится
AJAX - это технология "фоновой" передачи данных от клиента к серверу и получение ответа таким же "макаром" (грубо говоря). В данном случае AJAX = JS + PHP.
http://ru.wikipedia.org/wiki/AJAX

  Ответить  
 
 автор: confirm   (30.01.2014 в 10:58)   письмо автору
 
   для: Valick   (30.01.2014 в 10:34)
 

Не надо городить ерунды, Ajax как объект никакого отношения не имеет ни к JS, ни к РНР. То что он делает сетевой запрос и ожидает ответа еще не означает, что он каким-то боком принадлежит РНР, а то что с этим объектом работают в JS не означает, что он принадлежит JS.
При установке IE, этот объект (XMLHttpRequest) вообще будет зарегистрирован в системе, и его с успехом можно использовать и в других языках программирования, в том же VB или VBS.
Так что не надо все мешать в кучу. С помощью Ajax вы не сможете решить ни одной мало мальски задачи с объектами на странице, даже поместить тот же ответ сервера на страницу, для этого потребуется JS.

Думайте когда советуете.

  Ответить  
 
 автор: Valick   (30.01.2014 в 11:18)   письмо автору
 
   для: confirm   (30.01.2014 в 10:58)
 

сходите чтоль в википедию почитайте...
AJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:

    использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:

        с использованием XMLHttpRequest (основной объект);
        через динамическое создание дочерних фреймов[1];
        через динамическое создание тега <script>[2].
        через динамическое создание тега <img>, как это реализовано в google analytics.

    использование DHTML для динамического изменения содержания страницы;

Впервые термин AJAX был публично использован 18 февраля 2005 года в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям»[3]. Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.

Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенном компанией Microsoft в 1998 году, или с использованием HTML элемента IFRAME, появившегося в Internet Explorer 3 в 1996 году.

XMLHttpRequest - это объект.
AJAX - это технология. Запишите это себе огромными буквами.

  Ответить  
 
 автор: confirm   (30.01.2014 в 11:34)   письмо автору
 
   для: Valick   (30.01.2014 в 11:18)
 

В помойку эти тезисы.
Запрашиваемый сетевой ресурс может быть исполнятся PHP, ASP, JAVA, и т.д., и т.п., или вообще написан компилирующим языком и быть исполняемым файлом. XMLHttpRequest можно использовать не только в JAvascript. Кто выдумал, что Ajax = PHP + JS, или это ваши измышления?

Ajax это технология, метод (как хотите называйте) асинхронного обмена данными с сетевым ресурсом, в основе которой лежит объект XMLHttpRequest, который обладает не таким и большим набором методов, среди которых и подавно нет методов работы с DHTML.

Ajax для выше поставленной задачи придется использовать для обмена данными с сервером, а вот саму задачу, которая в зависимости от данных подлежащих редактированию может быть не хилой по объему придется решать с помощью Javascript. Впрочем, если вы такой умелец, напишите что либо действительно с использованием самой Ajax, поставлю коньяк.

Напишите себе, можете и не жирным - Ajax != PHP + JS.

  Ответить  
 
 автор: Valick   (30.01.2014 в 11:43)   письмо автору
 
   для: confirm   (30.01.2014 в 11:34)
 

Вы намернно искажаете факты?
Вы как бы не заметили примечане "в данном случае"?
Хорошо, будем бороться с вами вашими же приемами, пишите приложение на чистом JS которое будет заносить что-то в БД, без использования технологии AJAX.

  Ответить  
 
 автор: confirm   (30.01.2014 в 11:53)   письмо автору
 
   для: Valick   (30.01.2014 в 11:43)
 

Ну елки палки. Вам что по простому объяснит что весь Ajax, это десяток строк, все. Чтобы писать динамические страницы на клиенте, нужно изучать не Ajax, это всего лишь удобное подспорье, а Javascript. Вы его к примеру знаете поверхностно, а посему зная Ajax как таковой ничего ведь не сделаете.
Основы надо изучать, а технологии только прилагательное к ним. Я написал на чем это надо делать, а ваше ценное уточнение к посту "А точнее Ajax...".... Ну что смеяться то?

По серьезнее, Valick )

  Ответить  
 
 автор: Valick   (30.01.2014 в 13:28)   письмо автору
 
   для: confirm   (30.01.2014 в 11:53)
 

я говорю об Ajax именно как о технологии
Если кто-то там написал
ajax = new XMLHttpRequest;
это уже не мои проблемы :)
Вам что по простому объяснит что весь Ajax, это десяток строк, все
со стороны JS да, и с этим никто не спорит

  Ответить  
 
 автор: confirm   (30.01.2014 в 14:05)   письмо автору
 
   для: Valick   (30.01.2014 в 13:28)
 

Ну вы меня удивляете )
Со стороны JS там может быть только alert(данные возвращенные сервером) и все, и кто скажет что это не Ajax в данном случае, тот просто ничего не смыслит.

Поставлена задача. Решаем.

Нужно ли нам тревожит сервер для того чтобы изменить текст на странице? Нет, не нужно. Если текст весь, что мне мешает посредством JS добавить форму, в ней необходимое поле, взять это текст со страницы и поместить его в форму? Ничего не мешает, поэтому так и делаем. Если сервер при выдачи страницы помнит пользователя, которому она принадлежит чтобы в последствии разрешить эти изменения, то более ничего в форме и не нужно. В противном случае на страницу надо передавать и идентификатор пользователя, который поместить в форум как "паспорт" тоже не проблема.

Все, задача решена и без всякого Ajax. Отправляем форму, сервер сверит паспорт и ....

Скажете не катит что Ajax нет? Рано радуетесь в таком случае, будет вам и аля-Ajax. )

Добавляем на страницу кроме формы невидимый IFRAME, имя которого указываем в атрибуте target формы, и опля - вот вам и Ajax, ответ приходит на страницу и страница не перегружается. Скажите некомфильно потому как не видно? Рано )

Невидимый он потому, что нам нафик не нужен, и мы по событию onload IFRAME будем получать содержимое его тела и загружать в подготовленный для этого DIV, и не только увидим ответ, но он будет пользоваться и стилями родительского фрейма!

Ну а если ответ не html, а например JSON, ну какая проблема зная JS с этим не разобраться?

Ну как, и где тут Ajax равный РНР + JS? Но тем не менее задача решена, и решена на клиенте, и для этого нужно знать JS и DOM в первую очередь, а не эфемерные модные технологии. Голое знание их ничего не дают.

Или к примеру, я как супервизор своего сайта писал бы для себя административную часть как приложение, с использованием html, в котором бы использовал не только JS, но обязательно и VB, другие нужные скрипт-языки, которые бы также с успехом использовали XMLHttpRequest, и вообще доступный инструментарий ОС. Это дает массу плюсов - от обработки данных на клиенте, которые ранее приходилось загружать на сервер ради их обработки, до других многих "вкусностей". Обмен с сервером "сырыми" данными, так как шаблоны интерфейса админки тоже на клиенте. И причем тут Ajax в том понимании как вы себе его представляете?

За словом технология, которая в рамках веб-страницы подразумевает, что "нечто основное" выполняет JS, но именно он, как язык программирования, а ни как Ajax, о котором достаточно прочесть с десяток строк и изучили, или раз увидеть десяток строк кода, и даже не понимая их использовать это "чудо". Но если не знать Javascript, то понту от этого не будет.

  Ответить  
 
 автор: Valick   (30.01.2014 в 14:53)   письмо автору
 
   для: confirm   (30.01.2014 в 14:05)
 

ай да ну тебя вас, ухожу пить водку с пивом, завтра прочитаю, осмыслю и скорее всего не буду отвечать, у меня так много букав не получится :)

  Ответить  
 
 автор: confirm   (30.01.2014 в 16:07)   письмо автору
 
   для: Valick   (30.01.2014 в 14:53)
 

Шурику что говорили - "Пойми, студент, сейчас пить коньяк надо помягче, а на вопросы смотреть ширше"

  Ответить  
 
 автор: moonfox   (30.01.2014 в 18:41)   письмо автору
 
   для: confirm   (30.01.2014 в 16:07)
 

а теперь самый важный вопрос!
внимание!
вообще в приделах подобного примера - нажал на текст - получил поле - изменил текст - нажал в не поля - ушло на сервак, надо ли использовать аякс или с фреймом в полне адекватно???
то есть тут как обычно глупая проблема выбора, стоит ансихроно отправить запрос на запись или пусть форма отработает????

  Ответить  
 
 автор: confirm   (31.01.2014 в 07:49)   письмо автору
 
   для: moonfox   (30.01.2014 в 18:41)
 

>а теперь самый важный вопрос!

Какой, пить ли вам чай с сахаром или без? Какой по вкусу такой и пейте. А если IFRAME или Ajax, так надо понимать различия и возможности, знать о неприятных моментах первого.
Если же "нажал в не поля - ушло на сервак", то это о чем, трагедия или не понимание как делать?

  Ответить  
 
 автор: moonfox   (31.01.2014 в 12:00)   письмо автору
 
   для: confirm   (31.01.2014 в 07:49)
 

это то, как работает в ВК
не обязательно кнопку нажимать
засабмитить форму можно и на дополнительном событии - все равно придется использовать js для наворотов хотя бы как в ВК.

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

  Ответить  
 
 автор: confirm   (31.01.2014 в 12:44)   письмо автору
 
   для: moonfox   (31.01.2014 в 12:00)
 

>в котором вы не ясно зачем фрейм вспомнили, то ли для поучения, то ли как призыв к действию...

Перечитайте внимательно пост, поймете что побудило описать этот пример.

  Ответить  
 
 автор: moonfox   (31.01.2014 в 15:36)   письмо автору
 
   для: confirm   (31.01.2014 в 12:44)
 

а борис который не сталкивался с аяксом ваш пример примет как эталон имхо

  Ответить  
 
 автор: confirm   (31.01.2014 в 15:50)   письмо автору
 
   для: moonfox   (31.01.2014 в 15:36)
 

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

  Ответить  
 
 автор: psychomc   (31.01.2014 в 13:11)   письмо автору
 
   для: moonfox   (31.01.2014 в 12:00)
 

вообще лучше использовать, иногда без iframe-ов очень туго. дело тут не в отправке запросов на серве без перезагрузки страницы, они очень помогают, когда надо какую-то отдельную часть сайта отделить, например инкапсулировать её стили/скрипты

  Ответить  
 
 автор: psychomc   (30.01.2014 в 13:35)   письмо автору
 
   для: Valick   (30.01.2014 в 11:43)
 

можно даже без js

<form method="post" action="todb.php" target="myiframe">
    <input type="text" name="test"/>
    <input type="submit"/>
</form>
<iframe name="myiframe" frameborder="0" width="0" height="0" style="display: none"></iframe>

Valick, с вас коньяк, желательно не младше vsop :)

  Ответить  
 
 автор: Valick   (30.01.2014 в 14:54)   письмо автору
 
   для: psychomc   (30.01.2014 в 13:35)
 

коняк я начал пить совсем недавно, к сожалению
очень понравился Армянский коняк "Ной" :)

  Ответить  
 
 автор: psychomc   (30.01.2014 в 15:13)   письмо автору
 
   для: Valick   (30.01.2014 в 14:54)
 

ай не, в большинстве случаев все эти постсоветские коньяки не то. как правильно маркировка не соответствует действительности, со всеми вытекающими. не все конечно, но большинство. правда хороший коньяк и денег стоит
p.s я тоже не большой спец, но это мнение людей, которые в теме

  Ответить  
 
 автор: Valick   (30.01.2014 в 11:37)   письмо автору
 
   для: Boris   (30.01.2014 в 07:03)
 

литературу посоветовать сейчас не могу, большинство моих книг куплено в период 2007-2008 года.
Например
"Ajax в действии" Дейв Крейн, Эрик Паскарелло
"AJAX и PHP Разработка динамических веб приложений" Кристиан Дари и т.д. (вообще 2006 год издания)

  Ответить  
 
 автор: Boris   (30.01.2014 в 18:00)   письмо автору
 
   для: Valick   (30.01.2014 в 11:37)
 

Спасибо за дискуссию. Прочитал, еще раз перечитаю.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования