- Den - 32 Опубликовано: 1 июня 2011 Рассказать Опубликовано: 1 июня 2011 (изменено) Мой мозг уже высох, поэтому прошу помочь разобраться, кто может. Добавил я вручную текстовое поле на страницу регистрации, к примеру <input type="text" name="pole"> В файле engine/modules/register.php сделал аналогичные записи по подобию поля 'icq' $pole = $db->safesql( $parse->process( $_POST['pole'] ) ); if( strlen( $pole ) > 20 ) $reg_error .= $lang['тут моя ошибка и языкового файла']; И нифига оно не проверяется, просто записывается в базу то, что пришло из формы. Ну это капец какой-то, не понимаю чего еще нужно? Изменено 1 июня 2011 пользователем - Den - Цитата Ссылка на сообщение Поделиться на других сайтах
- Den - 32 Опубликовано: 2 июня 2011 Рассказать Опубликовано: 2 июня 2011 Автор Г-н, Celsoft, вы можете что-то подсказать по сути вопроса? Достаточно ли того, что я сделал или что-то еще должно быть? PS Это не запрос на модификацию. Прошу хоть в двух словах сказать - так или не так. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 067 Опубликовано: 2 июня 2011 Рассказать Опубликовано: 2 июня 2011 Достаточно ли того, что я сделал или что-то еще должно быть? Достаточно для чего? Эти две строчки что вы написали ничего в БД не записывают. Они вообще ничего не делают кроме как подготовки переменной к записи в БД, чтобы она не выдала ошибки. Для того чтобы что то записать в БД, вы должны в БД в таблице пользователей создать специальное новое поле, которое будет хранить ваши данные, потом еще и исправить запросы к БД, чтобы они записывали и считывали данные из этого поле. Подобные вещи не двумя этими строчками делаются и не только в этом файле, а и во многих других. Цитата Ссылка на сообщение Поделиться на других сайтах
- Den - 32 Опубликовано: 2 июня 2011 Рассказать Опубликовано: 2 июня 2011 (изменено) Автор Так нет, с базой данных как раз все ОК. Данные записываются нормально, я для этого все сделал и во всех нужных файлах. Если кол-во символов больше заданных, то выводится ошибка. По примеру того же поля ICQ. Суть в том, что не выводится заданная мной ошибка для моего поля, если выполняется условие. Если в базу все пишется, значит данные приходят? Только почему ошибка не работает мне не ясно Изменено 2 июня 2011 пользователем - Den - Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 067 Опубликовано: 2 июня 2011 Рассказать Опубликовано: 2 июня 2011 Если вы делали по аналогии с полем icq, то в скрипте проверка стоит if( strlen( $icq ) > 20 ) $stop .= $lang['reg_err_17']; а теперь сравните со своей, и причем здесь переменная $reg_error ? Цитата Ссылка на сообщение Поделиться на других сайтах
- Den - 32 Опубликовано: 2 июня 2011 Рассказать Опубликовано: 2 июня 2011 Автор Там структура файла немного изменена, поэтому так. Ошибка длинного номера icq там как раз выводится переменной $reg_error, но она выводится, а рядом стоящая проверка не выводится, ну да ладно, не буду вас больше мучить и на том спасибо... Цитата Ссылка на сообщение Поделиться на других сайтах
- Den - 32 Опубликовано: 2 июня 2011 Рассказать Опубликовано: 2 июня 2011 Автор Подсказали мне в чем трабл. Я проверял функцией strlen, а скрипт в utf, поэтому проверять нужно было функцией dle_strlen Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.