Большинство современных фреймворков имеют это из коробки. Если проект на стадии разработки - я бы его делал на базе фреймворка, например yii2 и не изобретал велосипед заново. Там есть и CSRF валидация и валидация форм и есть возможность использовать REST
Как вариант google hangout
Или просто скайп ссылка call
Но люди редко хотят общаться с видео. Так что на мой взгляд идея видео-чата - интересна только в идее, но не применима в коммерческих проектах. А чатов с голосовой связью - миллион готовых есть, тот же siteheart
А зачем несколько форм обратной связи на одной странице?
Но можете передать в функцию submitForm id формы, а вместо $("#idинпута").val() использовать #idинпута-idинпута
На данный момент поисковые роботы понимают javascript и могут понимать ajax, но не все. Надо эксперементировать. Для начала посмотрите как Ваш сайт индексируется. По каким запросам вылазит в поиске и т.д.
Помню что раньше робот не ходил по ссылке с GET запросами
Как? А по каким? По POST? Глупость полнейшая.
если вынесу все страницы за пределы корня сайта, чтобы к ним не было прямого доступа, это помешает роботу её индексировать?
Робот не ходит по файлам, он ходит по ссылкам и индексирует то что доступно пользователю из браузера. Хоть на соседний сервер их положите.
Если Вы показываете эти данные пользователю, то и храните в полях которые показываете пользователю, как value или data. Если все на ajax и страница не перегружается, зачем что-то еще придумывать? Или там миллион скрытых данных?
Надо делать запросы с разными заголовками, с разный ip и делать таймаут между ними. Это защита от парсинга. Яндекс маркет - самый тошнотворный вариант для это затеи.
Когда-то парсил его с помощью проги contentdownloader - это проще чем 'simple_html_dom.php'.
А еще у яндекс-маркета есть api. Подключив, которое можно получать данные.
Я бы парсил через ПО, что бы набить базу, а потом то чего нету добивал бы парсингом, через 'simple_html_dom.php', при этом сохраняя у себя результат. Тогда запросов к яндексу станет меньше и не будет банить.
40000 товаров удобнее редактировать в excel или 1c. Даже не думайте в сторону веб интерфейса. Однако реализовать функции массового изменения стоит. Например, домножить цену всех на x. Или какой-то конкретной категории. Или еще по какому-то признаку.
Веб интерфейс в виде таблицы будет совсем не прост для браузера, если речь идет более чем о 100 строках. Так что либо с пагинацией и фильтрами - либо excel.
Можно связать excel или 1с c базой данных, что то же удобно. Что бы уйти от выгрузки -загрузки, точнее упростить ее.
Все зависит от ждух факторов:
1. уровень вложености
2. частота и степень изменения
Пути решения могут быть разные в зависимости от необходимости. Если меню ожидается в 2-3 уровня, можно хранить в базе предка и уровень вложености. Если уровень неизвестен, тогда можно использовать метод nested sets (www.getinfo.ru/article610.html). Есть еще пара методов, но на мой взгляд больше из разряда красивых теорий, чем практического применения.
Все намного сложнее чем Вам хочется. Того что Вы привели мало, да и задача более объемная, чем просто ответ на вопрос. К тому же Вы описали крайне путано. Наймите программиста, он Вам сделает то что Вам надо. Я так понимаю Вам нужна зависимость способов доставки от региона? Тогда где-то должна быть прописана зависимость. Реализовать можно и через ajax и прямо в шаблоне c помощью jquery например. Все зависит от нюансов. Сколько способов, как они привязаны к регионам, привязка в виде отдельной таблице в базе данных или просто массив где-то. Много нюансов не ждите решения.
CHROMEBook изначально - это не производительная машина. Хоть Вы туда линукс ставьте, хоть винду, хоть Хром ОС, производительности не будет хватать для разработки.
Любая IDE, когда Вы в ней откроете код проекта начнет издавать стоны и мольбы о более мощном железе.
CHROMEBook - удачное решение для бабушки, которая хочет почитать новости и посмотреть сериал.
Наверное потому что у Вас два столбца id. Попробуйте второй столбец id переименовать в autor_id или убрать его вообще. Возможно это js при формировании таблицы ошибается из-за этого.