- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
Учу PHP уже 5ый день. Заодно тренируюсь и пишу маленькую CMS для себя.
Сейчас остановился на функции добавления статьи.
Есть functions_admin.php в которой описывается функция вывода формы добавления статьи, функция фильтрации на наличие HTML тегов и незаполненность статьи, функция пред просмотра и функция добавления статьи в базу.
Столкнулся с ошибкой. При присвоении переменной $title = strip_tags($_POST['title']) и прочих, они просто пропадают. Т.е., работает только исходник $_POST массив, а если присвоить значение массива в переменную - не работает.
Как написать лучше?
Столкнулся с ошибкой. При присвоении переменной $title = strip_tags($_POST['title']) и прочих, они просто пропадают.
А не должны пропадать.
Видимо, где-то вы этот массив перезаписываете или обнуляете.
Попробуйте прямо перед этой строчкой добавить:
var_dump($_POST['title']);
Есть там в ней что-нибудь?
[umka], пусто. Задал static - все норм. А безопасно ли это?
ortegas добавил 26.05.2011 в 20:48
function check_add_article_form() {global $conf;
$article_title = strip_tags($_POST['title']);
$article_url = strip_tags($_POST['url']);
$article_category = $_POST['category'];
$article_article = strip_tags($_POST['article'], "$conf[allowed_tags]");
$article_tags = strip_tags($_POST['tags']);
if ((!$article_title) or (!$article_url) or (!$article_category) or (!$article_article)) {
echo "Форма заполнена неверно!TEMP";
}
else {
static $article_title;
static $article_url;
static $article_category;
static $article_article;
static $article_tags;
}
}
Пример обрезки тегов. Скажите, а могу ли я обрезать их прямо в массиве, чтобы не задавать 5 раз static, а только 1 раз для массива?
ortegas добавил 26.05.2011 в 20:51
Попробовал, через массив - работает. Как обойти static? Выполнять функцию в функции? Или это не опасно?
Складывайте переменные в массив, например, $article. И объявите его
global $article;
или просто возвращайте его
return $article;
function check_add_article_form() {global $conf;
$article = array (
'title' => strip_tags($_POST['title']),
'url' => strip_tags($_POST['title']),
'category' => $_POST['category'],
'article' => strip_tags($_POST['article'], "$conf[allowed_tags]"),
'tags' => strip_tags($_POST['tags'])
);
if ((!$article[title]) or (!$article
}
else {
static $article;
}
var_dump ($article);
}" title=") or (!$article[category]) or (!$article[article])) {
echo "Форма заполнена неверно!TEMP";
}
else {
static $article;
}
var_dump ($article);
}" target="_blank">) or (!$article[category]) or (!$article[article])) {
echo "Форма заполнена неверно!TEMP";
}
else {
static $article;
}
var_dump ($article);
}
До if-else работает, после - dump NULL.
ortegas добавил 26.05.2011 в 21:04
ХМ, работает если static задать в конце функции. А почему static удаляет массив в функции после его вызова??
Почитайте тут про области видимости переменных
http://php.net/manual/en/language.variables.scope.php
Понял, ее надо объявлять статической перед тем, как ей будет присвоено значение.
Спасибо.
С какой целью вы пишите "static", зачем оно вообще Вам надо?
skAmZ добавил 26.05.2011 в 21:12
P.S. почитайте ещё про array_map....
Потому, что я подстраиваю POST запрос под нужный, который пойдет в БД. Я эти переменные собираюсь использовать в следующей функции.
Можно глупый вопрос? А зачем вообще это на функциях делать? Это какой-то + в карму или что?
LEOnidUKG, а как? Классы я пока, что не учил. Хочу закрепить урок.
Чтобы код не засорять и выполнять в зависимости от условий.
Я пока, что профан. Кто уже имеет опыт, поделитесь. А то когда пишешь скрипт уча PHP запоминается лучше. Боюсь, чтобы потом все не переписывать :).