Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mb_strpos не замечает подстроку 
:(
    Опции темы
begin
Дата 28.10.2011, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



У пользователей есть возможность вставлять код счетчика на свою страницу.  Перед сохранением параметров проверяю - если в коде счетчика присутствует что-то похожее на внедрение php-кода, то сохраняю все параметры, кроме этого. Сайт в utf-8. Код такой:

Код

if (($opt_count!=='оставить без изменений') && (mb_strpos($opt_count,'<?')==FALSE) && (mb_strpos($opt_count,'php')==FALSE))
{
//сохраняем БЕЗ кода счетчика
}
else
{
//сохраняем С кодом счетчика
}


Но проверка не работает. Сохраняет вот такие варианты:
Код

<? 111
php 111


Пробовал mb_strpos менять на strpos, но все равно не работает.  smile 
PM MAIL   Вверх
bars80080
Дата 28.10.2011, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а что по вашему возвращает strpos?
а то логика такая, что условие никогда не выполнится
PM MAIL WWW   Вверх
begin
Дата 28.10.2011, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Неверно показал свой код. Выглядит он так:

Код

if (($opt_count!=='оставить без изменений') && (mb_strpos($opt_count,'<?')==FALSE) && (mb_strpos($opt_count,'php')==FALSE))
{
//сохраняем С кодом счетчика
}
else
{
//сохраняем БЕЗ кода счетчика
}

Т.е. логика кода такая:
Цитата

если переменная не равна "оставить без изменений" и в переменной нет подстроки '<?' и в переменной нет подстроки 'php', то сохраняем все параметры, включая и код счетчика
иначе сохраняем без кода счетчика


bars80080, я прочитал в документации, что функция mb_strpos возвращает false если искомая подстрока не найдена.
Возможно, я использую неправильно количество знаков "=" в условиях?  smile 
PM MAIL   Вверх
bars80080
Дата 29.10.2011, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(begin @  28.10.2011,  23:50 Найти цитируемый пост)
mb_strpos возвращает false если искомая подстрока не найдена.

или 0, если подстрока найдена с нулевого символа. который при мягком сравнении == может преобразоваться в иной тип. то есть (0 == false) есть true
используйте строгое сравнение ===


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.