Перейти к публикации

Проверка данных при регистрации


Рекомендованные сообщения

Мой мозг уже высох, поэтому прошу помочь разобраться, кто может.

Добавил я вручную текстовое поле на страницу регистрации, к примеру

<input type="text" name="pole">
В файле engine/modules/register.php сделал аналогичные записи по подобию поля 'icq'

$pole = $db->safesql( $parse->process( $_POST['pole'] ) );

if( strlen( $pole ) > 20 ) $reg_error .= $lang['тут моя ошибка и языкового файла'];

И нифига оно не проверяется, просто записывается в базу то, что пришло из формы.

Ну это капец какой-то, не понимаю чего еще нужно? dash1.gif

Изменено пользователем - Den -
Ссылка на сообщение
Поделиться на других сайтах

Г-н, Celsoft, вы можете что-то подсказать по сути вопроса? Достаточно ли того, что я сделал или что-то еще должно быть?

PS

Это не запрос на модификацию. Прошу хоть в двух словах сказать - так или не так.

Ссылка на сообщение
Поделиться на других сайтах

Достаточно ли того, что я сделал или что-то еще должно быть?

Достаточно для чего? Эти две строчки что вы написали ничего в БД не записывают. Они вообще ничего не делают кроме как подготовки переменной к записи в БД, чтобы она не выдала ошибки. Для того чтобы что то записать в БД, вы должны в БД в таблице пользователей создать специальное новое поле, которое будет хранить ваши данные, потом еще и исправить запросы к БД, чтобы они записывали и считывали данные из этого поле. Подобные вещи не двумя этими строчками делаются и не только в этом файле, а и во многих других.

Ссылка на сообщение
Поделиться на других сайтах

Так нет, с базой данных как раз все ОК. Данные записываются нормально, я для этого все сделал и во всех нужных файлах.

Если кол-во символов больше заданных, то выводится ошибка. По примеру того же поля ICQ.

Суть в том, что не выводится заданная мной ошибка для моего поля, если выполняется условие.

Если в базу все пишется, значит данные приходят? Только почему ошибка не работает мне не ясно :(

Изменено пользователем - Den -
Ссылка на сообщение
Поделиться на других сайтах

Если вы делали по аналогии с полем icq, то в скрипте проверка стоит

	if( strlen( $icq ) > 20 ) $stop .= $lang['reg_err_17'];

а теперь сравните со своей, и причем здесь переменная $reg_error ?

Ссылка на сообщение
Поделиться на других сайтах

Там структура файла немного изменена, поэтому так.

Ошибка длинного номера icq там как раз выводится переменной $reg_error, но она выводится, а рядом стоящая проверка не выводится, ну да ладно, не буду вас больше мучить и на том спасибо...

Ссылка на сообщение
Поделиться на других сайтах

Подсказали мне в чем трабл.

Я проверял функцией strlen, а скрипт в utf, поэтому проверять нужно было функцией dle_strlen :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...