- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго времени суток, уважаемые форумчане.
У меня возникла проблема следующего характера:
Вчера ночью перенес форум на движке phpbb от одного хостера к другому. Вылезли после этого некоторые косяки, которые я сиправил, но вот один косяк все же остался. У меня к форме регистрации дописан скрипт, который проверяет вводимый вользователем ник на другом сервере. Если там есть пользователь с таким ником, то регистрация завершается, если такого пользователя нет -выдает ошибку "'Ваш логин не зарегистрирован в игре". Таким незамысловатым способом я защитил форум от ботов и "левых" пользователей. На старом хостинге все работало корректно, а на новом почему-то стало на любой ник выдавать сообщение "'Ваш логин не зарегистрирован в игре", то есть зарегистрироваться стало не возможно. Перепроверил уже все что можно и единственная версия осталось - это то, что на старом хосте был PHP4, а на новом PHP5. Ниже приведена основная часть скрипта проверки вводимого ника. Посмотрите плиз, кто хорошо разбирается, быть может здесь есть какая-то функция, которая работает только в PHP4 или еще какие-то версии как исправить проблему.
В приаттаченом файле находится весь php-файл.
Заранее благодарен за любую помощь.
Мы сейчас немного туго соображаем, но
$username = preg_replace('/^\s+/', '%20', $username);
^\s - это, если не ошибаемся, любой не пробельный символ. А Вы его в этой строке заменяете на %20. Уберите оттуда ^ и попробуйте снова.
Хотя мы бы убрали вообще эту строчку с заменой, от нас её смысл ускользает - всё равно при запросе Вы делаете urlencode, т.е. всё равно заменяете, а во что может превратить iconv этот %20 - загадка великая есть.
Плюс если уж заменять пробел, то
$username=str_replace(' ','%20',$username);
т.к. регулярка может зависеть от локали, и если локаль выставлена неверно ( php.net/setlocale ), то подумать на вполне честную русскую букву что она пробел есть и соответственно заменить.
Хотя если это работало на php4, то значит причина не в этом.
Вообще в коде ничего php4 vs php5 не видим. Поэтому скорее всего проблема либо с записью файла (проверить возможность записи в temp.html и посмотреть пишеться ли туда что-либо), либо со скачкой его с другого сервера (может на новом хостинге запрещено это или сервер онлайн-игрушки данных на его IP не отдает).
если бы так было то были бы ошибки.
Ошибки выдает ? что в еррор логе ?
Возможно проблема в этом - if($rez<=1255)
Попробуйте посмотреть, что имено пишется в temp.html при исполнении скрипта, возможно дело в том что на уровне сокетов вы получаете chunked ответ, попробуйте не использовать сокеты, а уровень повыше, тот же fopen, и проверяйте корректность ответа не размером полученного файла, а наличием в нем стороки "pnlNotFound"................................
Мы сейчас немного туго соображаем, но
Если туго соображаете, зачем писать? Кто-то ведь верит.
^\s - это, если не ошибаемся, любой не пробельный символ.
Вот это [^\s], а еще вот это \S любой непробельный символ, а это /^\s+/ - пробелы в начале строки.
а во что может превратить iconv этот %20 - загадка великая есть
Он ее заменит на %20.
Т.С., попробуйте для начала включить отображение ошибок
Пока могу предположить, что права на запись для файла temp.html не выставили.Пока могу предположить, что права на запись для файла temp.html не выставили.
Вот ведь я бот 😂 Вчера часов 7 ковырялся, ходил вокруг да около, в том числе и права доступа смотрел, только про temp.html даже мысль не мелькнула :(
Спасибо вам большое за помощь и спасибо всем откликнувшимся 🙄