Необходимо перенести самописный движок на новый хостинг. при проверке, функция не видит символы введенные на русском языке (при логине, добавлении, редактировании пользователя)
В данном случае ошибка в отображаемом имени пользователя и логине.
Подскажите куда копать...
Часть кода проверки:
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- /* Добавление пользователя */
- function Add($data)
- {
- $data['login'] = addslashes(trim(htmlspecialchars($data['login'])));
- $data['name'] = addslashes(trim(htmlspecialchars($data['name'])));
- $data['address'] = addslashes(trim(htmlspecialchars($data['address'])));
- $data['email'] = addslashes(trim(htmlspecialchars($data['email'])));
- $data['adm_comment'] = addslashes(trim(htmlspecialchars($data['adm_comment'])));
- $data['is_active'] = ($data['is_active']) ? '1' : '0';
- if($data['group'] == '1') $data['group'] = 'adv_admin';
- elseif($data['group'] == '2') $data['group'] = 'adv_manager';
- elseif($data['group'] == '3') $data['group'] = 'adv_complect';
- else $data['group'] = 'orders';
- if(!$data[name])
- {
- AddStatus('error', 'Не удается добавить пользователя. Не заполнено поле "Отображаемое имя".');
- return FALSE;
- }
- if(!$data['login'])
- {
- AddStatus('error', 'Не удается добавить пользователя. Не заполнено поле "Логин".');
- return FALSE;
- }
- if($data['password'])
- {
- if($data['password'] != $data['password2'])
- {
- AddStatus('error', 'Введенные пароли не совпадают.');
- return FALSE;
- }
- else
- {
- $data['password'] = trim(md5($data['password']));
- }
- }
- else
- {
- AddStatus('error', 'Не указан пароль пользователя');
- return FALSE;
- }
- $sql = "INSERT INTO `users` (`login`, `name`, `address`, `email`, `password`, `group`, `is_active`, `adm_comment`) VALUES ('{$data['login']}', '{$data['name']}', '{$data['address']}', '{$data['email']}', '{$data['password']}', '{$data['group']}', '{$data['is_active']}','{$data['adm_comment']}');";
- $this->DB->sql_query($sql, __FILE__, __LINE__, 'Создание нового пользователя');
- $item_id = $this->DB->sql_insert_id();
- if($item_id)
- {
- AddStatus('note', 'Пользователь добавлен.');
- return $item_id;
- }
- else
- {
- AddStatus('error', 'Не удается добавить пользователя.');
- return FALSE;
- }
- }
- /* Редактирование пользователя */
- // $type
- // A - Режим администратора
- // P - Режим "Персональная страница"
- function Update($user_id, $data, $type = 'A')
- {
- $user_id = intval($user_id);
- if($type == 'A')
- {
- $data['login'] = addslashes(trim(htmlspecialchars($data['login'])));
- $data['name'] = addslashes(trim(htmlspecialchars($data['name'])));
- $data['adm_comment'] = addslashes(trim(htmlspecialchars($data['adm_comment'])));
- $data['is_active'] = ($data['is_active']) ? '1' : '0';
- if($data['group'] == '1') $data['group'] = 'adv_admin';
- elseif($data['group'] == '2') $data['group'] = 'adv_manager';
- elseif($data['group'] == '3') $data['group'] = 'adv_complect';
- else $data['group'] = 'orders';
- }
- $data['address'] = addslashes(trim(htmlspecialchars($data['address'])));
- $data['email'] = addslashes(trim(htmlspecialchars($data['email'])));
- if(!empty($data['email']) AND !preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $data['email']))
- {
- AddStatus('error', 'Введенный адрес электронной почты не верен.');
- return FALSE;
- }
- if($type == 'A')
- {
- if(!$data['name'])
- {
- AddStatus('error', 'Не удается сохранить пользователя. Не заполнено поле "Отображаемое имя".');
- return FALSE;
- }
- if(!$data['login'])
- {
- AddStatus('error', 'Не удается сохранить пользователя. Не заполнено поле "Логин".');
- return FALSE;
- }
- }
- if($data['password'])
- {
- if(strlen($data['password']) <= 6)
- {
- AddStatus('error', 'Пароль должен состоять из не менее чем 6 символов.');
- }
- elseif($data['password'] != $data['password2'])
- {
- AddStatus('error', 'Введенные пароли не совпадают.');
- }
- else
- {
- $password = ", `password`='{$data['password']}'";
- AddStatus('note', 'Пароль пользователя обновлен.');
- }
- }