#0
by ПрессСекретарь
Проверяет регистрационное имя пользователя, раньше регисрировались спокойно таким макаром: "Петров_Петр" Не срабатывает где-то тут: # Only allow a basic set of characters if ( 0 == preg_match( config_get( 'user_login_valid_regex' ), $p_username ) ) { return false; } user_login_valid_regex описано как: $user_login_valid_regex = '/^[w -]+$/'; Где ковырять??? Пробовал: $g_user_login_valid_regex = '/^[w -_А-Яа-я]+$/'; Не срабатыввает :( в PHP можно сказать кофейник...
#5
by ПрессСекретарь
+ такое не поможет? To support large Unicode ranges (ie: [x{E000}-x{FFFD}] or x{10FFFFF}) you must use the modifier '/u' at the end of your expression. и какой рандж для русского? Этот? 0400-04FF
#8
by ПрессСекретарь
так тоже пробовал.может кешь. походу только с кирилицей. раньше мантиса работала на php 4, но для нового сайта хост перевели на PHP5 и конвертанули сорцы в utf-8. Юзер попросил меня поменять мыло, я полез и нарвался на то что "Петров_Петр" уже не проходит. Лазил по хосту в поисках php.ini чета не нашел...
#10
by ПрессСекретарь
после модификатора 'u' не надо '/' Я думал регулярка должна заканчиваться '/' ..
#11
by hd1
к чему непонятные коды, работает все с понятными символьными наборами? $g_user_login_valid_regex это то что возвращает config_get( 'user_login_valid_regex' ) ? Конвертировали сырцы, а база в какой кодировке? Ты уверен, что проблема в регулярке, наставляй всяких echo. она заканчивается /, затем модификаторы
#13
by ПрессСекретарь
>> $g_user_login_valid_regex это то что возвращает config_get( 'user_login_valid_regex' ) ? Сложно ответить однозначно, но config_get вызывает такую функцию: function config_get_global( $p_option, $p_default = null ) { if ( isset( $GLOBALS['g_' . $p_option] ) ) { $t_value = config_eval( $GLOBALS['g_' . $p_option] ); if ( $t_value !== $GLOBALS['g_' . $p_option] ) { $GLOBALS['g_' . $p_option] = $t_value; } return $t_value; } else { # unless we were allowing for the option not to exist by passing # a default, trigger a WARNING if ( null === $p_default ) { error_parameters( $p_option ); trigger_error( ERROR_CONFIG_OPT_NOT_FOUND, WARNING ); } return $p_default; } } Можно ответить - да, но сори, я тупой 1С ник уверен на 95 % не на 100.
#14
by ПрессСекретарь
Шас буду материться. ползая по фтп увидел, что там 2 каталога с мантисами и блин ПРАВИЛ не в ТОЙ!!!
#15
by ПрессСекретарь
_test.php <?php require_once( 'core.php' ); echo config_get( 'user_login_valid_regex' ); ?> Вывод: /^[w -]+$/
#17
by hd1
_test.php <?php if (preg_match('/^[А-Яа-я]+$/u','Вася')) echo 'true'; else echo 'false'; ?>
#19
by hd1
твое <?php if (preg_match('/^[w -_А-Яа-я]+$/u','Петров_Петр')) echo 'true'; else echo 'false'; ?>
#20
by ПрессСекретарь
<?php require_once( 'core.php' ); $temp_user_login_ = 'Вася_Петров'; echo config_get( 'user_login_valid_regex' ); echo '<br>'; if (preg_match('/^[А-Яа-я_]+$/u',$temp_user_login_)) echo 'true'; else echo 'false'; echo '<br>'; if (preg_match(config_get( 'user_login_valid_regex' ),$temp_user_login_)) echo 'true'; else echo 'false'; echo '<br>'; if (preg_match('/^[w -_]+$/u',$temp_user_login_)) echo 'true'; else echo 'false'; ?> Вывод: /^[w -]+$/ true false false
#22
by hd1
значит проблема в w или пробел надо экранировать, не помню. Так должно работать: '/^[ -_a-zA-Zа-яА-Я0-9]+$/u'
#23
by ПрессСекретарь
<?php require_once( 'core.php' ); $temp_user_login_ = 'Вася_Петров'; echo config_get( 'user_login_valid_regex' ); echo '<br>'; if (preg_match('/^[А-Яа-я_]+$/u',$temp_user_login_)) echo 'true'; else echo 'false'; echo '<br>'; if (preg_match(config_get( 'user_login_valid_regex' ),$temp_user_login_)) echo 'true'; else echo 'false'; echo '<br>'; if (preg_match('/^[w -_]+$/u',$temp_user_login_)) echo 'true'; else echo 'false'; echo '<br>'; if (preg_match('/^[w -_А-Яа-я]+$/u','Петров_Петр')) echo 'true'; else echo 'false'; ?> Вывод: ?/^[w -_А-Яа-я]+$/u true true false true
#24
by ПрессСекретарь
смотри, if (preg_match(config_get( 'user_login_valid_regex' ),$temp_user_login_)) echo 'true'; << Срабатывает в true else echo 'false'; А вот в мантисе ошибка так и осталась О_о. Может кеш какой????
#25
by Fragster
а вот я (почти)тупо пихаю в БД логин и все :) и даже "№"№;% цуке 2345 6ецу кАУЦЙК е прокатывает
#27
by hd1
так где ошибка то, в регулярке или дальше, например при сравнении значения со значением в БД? Ты 'u' в мантис добавил?
#29
by ПрессСекретарь
Да, это в config_defaults_inc.php была настройка. И всеравно фигня, не пашет О_о
#30
by ПрессСекретарь
а теперь вылазиит: SYSTEM WARNING: Cannot modify header information - headers already sent by
#32
by smaharbA
что за бредовое выражение /^[ws-_А-Яа-я]+$/ ? букова У решает как сказано, но выражение менее бредовым не становится
#33
by Exec
php -v сделай, погляди версию, если 5.3.0+, то там убрали и порезали кучу функций, регексп в т.ч.
#34
by Fragster
шО? наобороот, добавили нужные штуки типа лябда функций, позднего связывания и прочего. хотя для 1сника это все пустой звук, да.
#35
by Exec
После обновления версии php до 5.3.x все сайты покрылись ошибками: 1. date It is not safe to rely on the system's timezone settings.. 2. Function eregi is deprecated in.. 3. Deprecated: Function session_register is deprecated in Date, так же как и все функции так или иначе работающие с датой выдают ошибку: Error: date [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3.0/no DST' instead (_файл_, _строка_)
#36
by Exec
По вопросу с ereg (eregi), разработчики php решили что это очень медленная функция и приняли решение убрать её совсем, отсюда и эта ошибка. Замечательное решение, блин :( В замен они предлагают использовать preg_match:
#37
by Exec
у а что же делать тем у кого весь сайт напичкам ereg или установлен популярный движок какой нибудь cms которая во всю использует ereg? В первую очередь ищем обновления своих цмс. Если не получилось делаем следующее: 1. Открываем файл настройки PHP (php.ini) и ищем, ближе к самому концу файла, текст:
#38
by Exec
там много чего поубирали, я на 5,2,9 откатился нафиг, у меня 100+ сайтов слегло после апдейта :(
#42
by Fragster
ну так выключи варнинги в продакшене, а потом потихоньку убирай... date - сначала надо задать текущий часовой пояс (или в конфиге, или функцией) ereg* - правильно, ибо prce* быстрее и мощнее session_register депрекэйтед еще с 5.0 на самом деле, юзай массив $_SESSION (ну и $_SERVER, $_REQUEST, $_POST, $_GET, $_FILE) - реально упрощает код для понимания.
#43
by Fragster
выключить варнинги и спать спокойно (депрекэйт все равно работает, просто намекает о том, что есть способ лучше). установить новую версию ЦМС (если она _популярная_ - то там этих варнингов нет, только в говновелосипедо модулях, которые всякие неудачники разработали для практики и забили на них, как на мертворожденное нечто)
#44
by Exec
да ну нафиг :) это коммерческие сайты, и их админов не колышет, что мне надо обновится до 5.3.0, а за них, я такую кучу сайтов (чужих к тому же) лопатить не буду. ПОка на 5.2.9 пашет и норм :)
#48
by Ангел-Хоронитель
сменилась кодировка для пыха, теперь надо все пыховские файлики открывать и сохранять в той-же кодировке. либо mbstring юзать
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Не работает функия вопрос() в 8-ке/в SQL не работает в файл серверной работает
- Не сохраняется после в .mht в Explorer после установки винды.
- Методистам:1С ЗУП - после переноса из ЗИК, почти никто не работает в организации
- После переноса база SQL становится меньше по размеру
- Ошибка блокировок транзакций после переноса баз SQL
- После переноса базы данных с sql server 2005 на 2012 тормозит база
- КУДиР расходы после переноса из УСН 1.3
- 1C 8.2 в терминале - после переноса на новый сервер тормозит выбор принтера
- Бешеные тормоза после переноса на MS SQL
- Пропадает список баз после синего экрана, после перезагрузки возвращается
- ЗУП 3.1 после переноса не видно что сотрудник работает с сохранением пособия
- ЗУП 3.1 доплата за вредность после переноса данных
В этой группе 1С
- Как программно установить тип для поля ввода?
- УПП: Учет затрат по субподряду
- Непродуманное типовое перемещение границы последовательности в БП 2.0
- УНФ - Ошибки или фичи в отчетах?
- 8.2, HTTP-Соединение и кодировка URL-а
- 1C++: Как установить текущую колонку табличного поля?
- Как настроить и выйти в интернет с Nokia 5800 через WiFi адаптер подкл к пк?
- ЗУП. отчет по изменениям окладов
- Как узнать чей передан контекст?
- чем отличается файл CF от CFU?
- Какие документы в 1С 7.7 (ТиС) используют форму ТОРГ-12?
- Управление торговлей 10.3 основной менеджер контрагента
- Ошибка при пересылке в COMОбъект("Word.Application") изображения
- КА: "В принятии к учету ОС" в проводке не встает сумма
- Как увидеть глобальную переменную на сервере?
- VPN мост через internet
- СтруктураШапкиДокумента зачем она нужна ?
- ККМ. Загрузка в АТОЛЛ из 1С УТ 8.1. Неверные остатки?
- ЗУП - СреднийЗаработок: Неверный список ведущих видов расчета. <-- ЧТО ДЕЛАТЬ?
- Как узнать порядковый номер колонки табличного поля ?