mendel

mendel
Рейтинг
232
Регистрация
06.03.2008

Ну вы бы хоть рассказали что запасаете.

Так то вам уже сказали - написать 100 статей.

Но если уточните тематику запасов, то может будет что-то конкретное.

Jeep187:
А что если мне нужно продвинуть одну страницу под 500 низкочастотных ключей?)

Поменять цели, не?)

Я могу себе представить такую ситуацию, но это уж очень должны звезды сойтись.

А оно под правило о спаме не подпадает?

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

Если тема обретет отзывы, то может заинтересуюсь, поэтому уточняющий вопрос:

Географию трафика можно будет ограничить?

Скажем сделаю свой проект на региональном домене. И лить туда адалт-траф соответствующего региона?

Или полный микс и только ТДС-кой забирать подходящий траф а остальное сливать на партнерки?

<!--WEB-->:
Причём, интересная штука — недоступен, если авторизован. Через какой-то промежуток форум, видимо, автоматически разлогинивает (ну я так предполагаю) и становится доступным, но стоит авторизоваться, и опять датабэйз иро.

Это как-раз просто. Клудфларе отдает страницу из кеша для неавторизованных, а для авторизованных - сайт лежит.

R_Tem:
Москальские счетчики вне закона в Европе?

Ну мейл.ру это не вся Московия. Мейл.ру везде не в почете.

Аналог гуглоформ?)

Тоже хочу сделать, но пока руки не дошли. Так что у меня пока все формы только через админа создаются.

Фома, тут mysqli, кеширование в довольно ограниченном виде и еще целая пачка проблем связанных с движком форума. Печально, но альтернативы были еще хуже когда я смотрел. Лечится всё, но не всегда цель оправдывает средства.

---------- Добавлено 12.12.2016 в 13:44 ----------

Фома:
Слово "невозможно" конечно прямым текстом не употребляется, но смысл предлоения именно такой.

В приведенной цитате напрашивается другое прочтение - что падение базы по вине хостера возможно только на шареде, а на ВДС она упадет только от большой нагрузки или кривости скрипта. Ну а нагрузка может быть и от ДДОС и от кривости.

+146

Эротическая реклама на вашем историческом сайте вас не смущает, а вот счетчик удивил?)

С другой стороны куча контента + ЯК. (В котором опечатка в заголовке, вы вкурсе?)

Переклеить на что-то более самостоятельное это вообще реально?

В принципе можно повесить на сайт платный домен, думаю юкоз даст поклеить этот бесплатный с платным? А потом платный унести.

Кто с юкозом дело имел?

Специалист специалистом, но... уберите всё не нужное в "вторую очередь".

Выбор филиалов это важно или можно их списком сделать?

Чисто статья и чисто поиск по ней?)

Аякс это важно? Ведь сделав смену страницы после каждого выбора, вы бы упростили логику и сами бы не запутались. Программист не запутается, но час времени сэкономит. Не в том дело что обсуждаем, а в общем подходе. Сократите еще больше. Наверняка в других местах излишком тоже много.

У меня друг пятый год "запускается". Пятая версия сайта. Только выкатили версию под сео, вот только в этом месяце реальный траф пошел, со следующего месяца начинается монетизация. Пятый год! Дорабатывать! Функционал! Проект крутой, да, но блин!

veleg:
Но вопрос такой:

Это неверный вопрос.

Вы находитесь в рамках устаревших парадигм.

Фильтровать ввод это хорошая мысль. Для 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 :)))

И не говорите "да кому я нужен, кто меня ломать будет". Мы это уже оборжали выше.

Поймите простую вещь.

Всё что вы напишите будет криво, небезопасно и бесполезно ибо до Вас это уже десять раз написали.

Да, Вы научитесь. Да, это нужно. Но не делайте на таком коде реальные сайты.

Возьмите лучше Вордпресс. Он ужасен в плане кода, но там уже хоть какая-то основа есть.

А если чисто поучиться, и потом сесть за что-то взрослое, то дерзайте.

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

Всего: 1906