Ну вы бы хоть рассказали что запасаете.
Так то вам уже сказали - написать 100 статей.
Но если уточните тематику запасов, то может будет что-то конкретное.
Поменять цели, не?)
Я могу себе представить такую ситуацию, но это уж очень должны звезды сойтись.
А оно под правило о спаме не подпадает?
Отзыв от человека продвигающего используемый в проекте софт, написавшего обтекаемый отзыв, да еще и выбранного непрозрачно - ну не считается.
Если тема обретет отзывы, то может заинтересуюсь, поэтому уточняющий вопрос:
Географию трафика можно будет ограничить?
Скажем сделаю свой проект на региональном домене. И лить туда адалт-траф соответствующего региона?
Или полный микс и только ТДС-кой забирать подходящий траф а остальное сливать на партнерки?
Это как-раз просто. Клудфларе отдает страницу из кеша для неавторизованных, а для авторизованных - сайт лежит.
Ну мейл.ру это не вся Московия. Мейл.ру везде не в почете.
Аналог гуглоформ?)
Тоже хочу сделать, но пока руки не дошли. Так что у меня пока все формы только через админа создаются.
Фома, тут mysqli, кеширование в довольно ограниченном виде и еще целая пачка проблем связанных с движком форума. Печально, но альтернативы были еще хуже когда я смотрел. Лечится всё, но не всегда цель оправдывает средства.---------- Добавлено 12.12.2016 в 13:44 ----------
В приведенной цитате напрашивается другое прочтение - что падение базы по вине хостера возможно только на шареде, а на ВДС она упадет только от большой нагрузки или кривости скрипта. Ну а нагрузка может быть и от ДДОС и от кривости.
+146
Эротическая реклама на вашем историческом сайте вас не смущает, а вот счетчик удивил?)
С другой стороны куча контента + ЯК. (В котором опечатка в заголовке, вы вкурсе?)
Переклеить на что-то более самостоятельное это вообще реально?
В принципе можно повесить на сайт платный домен, думаю юкоз даст поклеить этот бесплатный с платным? А потом платный унести.
Кто с юкозом дело имел?
Специалист специалистом, но... уберите всё не нужное в "вторую очередь".
Выбор филиалов это важно или можно их списком сделать?
Чисто статья и чисто поиск по ней?)
Аякс это важно? Ведь сделав смену страницы после каждого выбора, вы бы упростили логику и сами бы не запутались. Программист не запутается, но час времени сэкономит. Не в том дело что обсуждаем, а в общем подходе. Сократите еще больше. Наверняка в других местах излишком тоже много.
У меня друг пятый год "запускается". Пятая версия сайта. Только выкатили версию под сео, вот только в этом месяце реальный траф пошел, со следующего месяца начинается монетизация. Пятый год! Дорабатывать! Функционал! Проект крутой, да, но блин!
Это неверный вопрос.
Вы находитесь в рамках устаревших парадигм.
Фильтровать ввод это хорошая мысль. Для 2005-2007 годов.
Хорошо что вы до нее додумались, но плохо что вы хотите на ней ехать.
Не подумайте неправильно - фильтровать ввод нужно (не всегда, но нужно).
Просто именно для этой проблемы это не то решение.
В конкретном случае вам нужен PDO и его параметризированные запросы.
И вопрос инъекции отпадает сразу во всем проекте. Ну не совсем уж отпадает, но становится сильно затруднителен и без эксплуатации набора других ошибок - невозможным. Попутно ЗНАЧИТЕЛЬНО упрощается вопрос переноса вашего скрипта на другие СУБД, например SQLite или Постгри. Всего скрипта а не только этой странички.
Далее, если вы просто пойдете в Википедию, и почитаете про DRY, и посмотрите на тот код что у вас получился, то у вас возникнет вопрос.
И в ответ на этот вопрос вы захотите иметь что-то вроде $db->sql($sql,['param1'=>'param1,'param2'=>'param2']);
Потом будет SOLID, MVC (Толстые. Уродливые. Контроллеры. ФУУУУУУ!).
Ну и сразу вернемся к работе с базой...
Каждый раз писать Селект? Да еще с JOIN и т.п.?
Может хочется что-то вроде
$country = $allCountry->findOne($countryId);
if($country) {
$countryCity = $country->citys->findAll();
$currentCity = $country->citys->findOne($cityID);
$currentFilial = $currentCity->findOne($filialId);
}
тогда читаем про ActiveRecord.
Или вот есть у вас простая в сущности задача. Рутинная до безобразия.
Форму ввода создать. Ну скажем заказ какой принять от пользователя.
В форме будет не очень много полей. Скажем 30.
Разные. Это и да/нет, и текстовые, и цифровые, и загрузить и выбрать картинку, и текст с оформлением (с редактором типа Тини или ЦКЕдитора) ну и т.п.
Ну банальный заказ.
Выводим поля соответствующих типов.
Выводим к ним подписи, подсказки (вопросики такие, с всплывающим текстом при наведении мышки), плейсхолдеры и т.п.
У каждого поля пару проверок вроде того цифровое ли оно, обязательное ли, проверка уникальности (запрос в базу), максимальная/минимальная длина и т.п.
Ну примерно 50 проверок на всю форму.
К каждому полю надо вывести сообщение об ошибке, если оно неправильно написано..
Конечно же подписи у всего этого должны быть на разных языках, как и сообщения об ошибках и т.п. Т.е. в отдельных файликах лежат все строки которые нам нужны, и можно сделать новый файлик с именем другого языка, не колупая код.
Как думаете как много кода для этого понадобится?
В принципе у каждого код будет разным, но лично я пишу вот так:
<form role="form" method="post" class="form-horizontal"> <?=s()->xsrf()->field ?> <?=view('widget/formModel','model'=>$model);?> <button class="btn btn-primary" type="submit"> <i class="fa fa-save"></i> Сохранить </button> </form>
Ну и получение этой самой $model и ее обработка выглядят примерно так:
public function createAction() { $page = $this->preparePage(); // ********************************************************************** $model = s()->post()->getModel($this->boxName); if(!$model->isNew() AND $model->isValid()) { $model->save(); $this->redirect(); } else { $page->model = $model; s()->layout()->show($page); } }
Здесь мы выводим форму в браузер (вызываем код который приведен выше), разбираем данные формы, проверяем ее на правила, если она заполнена правильно, то сохраняем и редиректим куда нужно, если нет, то отдаем ошибки той форме что была приведена выше, и опять выводим.
Плюс еще миллион и маленькая тележка других действий.
Например вы могли заметить чуть выше непонятную строчку <?=s()->xsrf()->field ?>.
Эта строчка выводит специальный код, а в s()->post()->getModel($this->boxName); мы не только получаем данные из $_POST, разбираем их и т.п., но и проверяем правильность этого кода.
А иначе что? А иначе XSRF. У вас ведь наверняка есть XSRF. Вот прям сейчас пойдете. Прочитаете. И - опа! Ведь есть же. Ну признайтесь? :)
Ну вот мы тут насоветовали на страницу, потом еще на одну. Вы всё поняли. Даже PDO используете.
Чувствуете себя в безопасности, а тут раз и XSRF :)))
И не говорите "да кому я нужен, кто меня ломать будет". Мы это уже оборжали выше.
Поймите простую вещь.
Всё что вы напишите будет криво, небезопасно и бесполезно ибо до Вас это уже десять раз написали.
Да, Вы научитесь. Да, это нужно. Но не делайте на таком коде реальные сайты.
Возьмите лучше Вордпресс. Он ужасен в плане кода, но там уже хоть какая-то основа есть.
А если чисто поучиться, и потом сесть за что-то взрослое, то дерзайте.
Но Ваша задача с филиалами а до этого с картинкой уж больно похожа на то, что вы это в реальном проекте используете (ужас, ужас)...