fluent: 100 груп мутить вручную - блин, это так муторно наверное. Я не спец по группам вк - там наверное в одной можно как то по регионам организоваться или нет.
А вообще мне кажется что внешние ссылки здесь не причем. Полно вк мест обвешанных ссылками.
Важно: В vk развито и процветает стукачество, заказные жалобы и прочее. Я встречал такие заказы и сообщал владельцам вк. А этим козлам сообщил что их заказали и ничего кроме их идиотских звонков с призывами идти на форекс за деньгами не получил взамен. Вот пример как заказывают КОЗЛОВ которые мне даже 100 руб за инфу не дали.
Кто-то оБзлился на ваши группы и стуканул жалобу.
А трафф и внешние ссылки это не причина. Для того они и группы и соц сети что-бы обсуждать что-то внешнее и уходить на время в аутсайдинг.
Это мое мнение, имею право ошибаться.
Про козлов ничего не понял, козлы - исполнители, или козлы - заказчики, или козлы отпущения - владельцы групп?
Запомните раз и навсегда ;) ЧТОБЫ - следствие(для того, чтобы поесть), ЧТО БЫ - в раздумьях(что бы такого поесть). Никаких черточек БЫ и ЖЕ не любит.
mendel: Специалист специалистом, но... уберите всё не нужное в "вторую очередь". Выбор филиалов это важно или можно их списком сделать? Чисто статья и чисто поиск по ней?) Аякс это важно? Ведь сделав смену страницы после каждого выбора, вы бы упростили логику и сами бы не запутались. Программист не запутается, но час времени сэкономит. Не в том дело что обсуждаем, а в общем подходе. Сократите еще больше. Наверняка в других местах излишком тоже много. У меня друг пятый год "запускается". Пятая версия сайта. Только выкатили версию под сео, вот только в этом месяце реальный траф пошел, со следующего месяца начинается монетизация. Пятый год! Дорабатывать! Функционал! Проект крутой, да, но блин!
Я б туда еще несколько полей воткнул + создание пользователем своих форм, для клиентов.
То есть орг вводит сколько будет встреч(каждая встреча имеет ограниченное кол-во участников), а уже сами участники выбирают(radio) на какую именно запишутся.
А то реально, иногда читаешь и столько вопросов рождается серьезных, поэтому полей тут ровно столько, сколько должно быть. Кстати в примере конечно не полная форма. В оригинале около 10+/- полей.
Sly32: Во вы загрузили товарища))) От простенького вопроса по логике работы алгоритма запугали его кросплатформенными иньекциями.
Не запугали. Просто проект который делаю, возможно реально вызовет интерес у конкурентов, года через два точно.
А я не хочу тратить время на глубокое изучения языка, в том время как могу обратиться к более квалифицированному специалисту, считаю это нормально и правильно.
mendel: Это неверный вопрос.
Вы находитесь в рамках устаревших парадигм.
Фильтровать ввод это хорошая мысль. Для 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 проверок на всю форму.
К каждому полю надо вывести сообщение об ошибке, если оно неправильно написано..
Конечно же подписи у всего этого должны быть на разных языках, как и сообщения об ошибках и т.п. Т.е. в отдельных файликах лежат все строки которые нам нужны, и можно сделать новый файлик с именем другого языка, не колупая код.
Как думаете как много кода для этого понадобится?
В принципе у каждого код будет разным, но лично я пишу вот так:
Ну и получение этой самой $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 :)))
И не говорите "да кому я нужен, кто меня ломать будет". Мы это уже оборжали выше.
Поймите простую вещь.
Всё что вы напишите будет криво, небезопасно и бесполезно ибо до Вас это уже десять раз написали.
Да, Вы научитесь. Да, это нужно. Но не делайте на таком коде реальные сайты.
Возьмите лучше Вордпресс. Он ужасен в плане кода, но там уже хоть какая-то основа есть.
А если чисто поучиться, и потом сесть за что-то взрослое, то дерзайте.
Но Ваша задача с филиалами а до этого с картинкой уж больно похожа на то, что вы это в реальном проекте используете (ужас, ужас)...
Была конечно мысль обратиться к программисту, но сейчас эта "была" переменилась в "хочу".
Если условие такое, что GET параметр обязательно должен являться цифрой, в противном случае подключение к базе не происходит как и не осуществляется эта строчка:
$query = "SELECT region, id, city FROM city where region =".$_GET['countryCode'];
гиф анимированный или статичный?
Делал в фотошопе анимированный. Там буквально ватермарк перетаскиваешь и все. На всех кадрах он.
По поводу автоматизированного, хз, не пробовал.
Думаю после таких нравоучений ты тоже станешь для него козлом. )
Ни в коем случае.
Я бы наоборот "спасибо" сказал.
100 груп мутить вручную - блин, это так муторно наверное.
Я не спец по группам вк - там наверное в одной можно как то по регионам организоваться или нет.
А вообще мне кажется что внешние ссылки здесь не причем. Полно вк мест обвешанных ссылками.
Важно: В vk развито и процветает стукачество, заказные жалобы и прочее. Я встречал такие заказы и сообщал владельцам вк. А этим козлам сообщил что их заказали и ничего кроме их идиотских звонков с призывами идти на форекс за деньгами не получил взамен. Вот пример как заказывают КОЗЛОВ которые мне даже 100 руб за инфу не дали.
Кто-то оБзлился на ваши группы и стуканул жалобу.
А трафф и внешние ссылки это не причина. Для того они и группы и соц сети что-бы обсуждать что-то внешнее и уходить на время в аутсайдинг.
Это мое мнение, имею право ошибаться.
Про козлов ничего не понял, козлы - исполнители, или козлы - заказчики, или козлы отпущения - владельцы групп?
Запомните раз и навсегда ;) ЧТОБЫ - следствие(для того, чтобы поесть), ЧТО БЫ - в раздумьях(что бы такого поесть). Никаких черточек БЫ и ЖЕ не любит.
Аналог гуглоформ?)
Тоже хочу сделать, но пока руки не дошли. Так что у меня пока все формы только через админа создаются.
Не, не аналог. Максимум что нужно от оргов, это указать количество встреч, количество radio будет формироваться исходя из этой цифры.
Специалист специалистом, но... уберите всё не нужное в "вторую очередь".
Выбор филиалов это важно или можно их списком сделать?
Чисто статья и чисто поиск по ней?)
Аякс это важно? Ведь сделав смену страницы после каждого выбора, вы бы упростили логику и сами бы не запутались. Программист не запутается, но час времени сэкономит. Не в том дело что обсуждаем, а в общем подходе. Сократите еще больше. Наверняка в других местах излишком тоже много.
У меня друг пятый год "запускается". Пятая версия сайта. Только выкатили версию под сео, вот только в этом месяце реальный траф пошел, со следующего месяца начинается монетизация. Пятый год! Дорабатывать! Функционал! Проект крутой, да, но блин!
Я б туда еще несколько полей воткнул + создание пользователем своих форм, для клиентов.
То есть орг вводит сколько будет встреч(каждая встреча имеет ограниченное кол-во участников), а уже сами участники выбирают(radio) на какую именно запишутся.
А то реально, иногда читаешь и столько вопросов рождается серьезных, поэтому полей тут ровно столько, сколько должно быть. Кстати в примере конечно не полная форма. В оригинале около 10+/- полей.
как источника трафика для сайта
Вот же написал. Понятно дело что ссылка была, как бы люди переходили тогда?
Во вы загрузили товарища))) От простенького вопроса по логике работы алгоритма запугали его кросплатформенными иньекциями.
Не запугали. Просто проект который делаю, возможно реально вызовет интерес у конкурентов, года через два точно.
А я не хочу тратить время на глубокое изучения языка, в том время как могу обратиться к более квалифицированному специалисту, считаю это нормально и правильно.
Это неверный вопрос.
Вы находитесь в рамках устаревших парадигм.
Фильтровать ввод это хорошая мысль. Для 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 проверок на всю форму.
К каждому полю надо вывести сообщение об ошибке, если оно неправильно написано..
Конечно же подписи у всего этого должны быть на разных языках, как и сообщения об ошибках и т.п. Т.е. в отдельных файликах лежат все строки которые нам нужны, и можно сделать новый файлик с именем другого языка, не колупая код.
Как думаете как много кода для этого понадобится?
В принципе у каждого код будет разным, но лично я пишу вот так:
Ну и получение этой самой $model и ее обработка выглядят примерно так:
Здесь мы выводим форму в браузер (вызываем код который приведен выше), разбираем данные формы, проверяем ее на правила, если она заполнена правильно, то сохраняем и редиректим куда нужно, если нет, то отдаем ошибки той форме что была приведена выше, и опять выводим.
Плюс еще миллион и маленькая тележка других действий.
Например вы могли заметить чуть выше непонятную строчку <?=s()->xsrf()->field ?>.
Эта строчка выводит специальный код, а в s()->post()->getModel($this->boxName); мы не только получаем данные из $_POST, разбираем их и т.п., но и проверяем правильность этого кода.
А иначе что? А иначе XSRF. У вас ведь наверняка есть XSRF. Вот прям сейчас пойдете. Прочитаете. И - опа! Ведь есть же. Ну признайтесь? :)
Ну вот мы тут насоветовали на страницу, потом еще на одну. Вы всё поняли. Даже PDO используете.
Чувствуете себя в безопасности, а тут раз и XSRF :)))
И не говорите "да кому я нужен, кто меня ломать будет". Мы это уже оборжали выше.
Поймите простую вещь.
Всё что вы напишите будет криво, небезопасно и бесполезно ибо до Вас это уже десять раз написали.
Да, Вы научитесь. Да, это нужно. Но не делайте на таком коде реальные сайты.
Возьмите лучше Вордпресс. Он ужасен в плане кода, но там уже хоть какая-то основа есть.
А если чисто поучиться, и потом сесть за что-то взрослое, то дерзайте.
Но Ваша задача с филиалами а до этого с картинкой уж больно похожа на то, что вы это в реальном проекте используете (ужас, ужас)...
Была конечно мысль обратиться к программисту, но сейчас эта "была" переменилась в "хочу".
Благодарю за то что ткнули носом в ошибку.
Но вопрос такой:
Если условие такое, что GET параметр обязательно должен являться цифрой, в противном случае подключение к базе не происходит как и не осуществляется эта строчка:
$query = "SELECT region, id, city FROM city where region =".$_GET['countryCode'];
Типа соц сети хотите пользователей? Смотрите в сторону buddypress.
Да обычный фронтэнд постер подойдет+авторизация через вк.
Что проще этого: Авторизовался, запостил.