![]() |
Фильтрация русского языка
Добрый день.
Есть запрос Код:
$db->query(sprintf("INSERT INTO code_files(userid,fileid,`date`,`code`) VALUES(%d,%d,'%s','%s')",$member_id['user_id'],$row['id'],date('Y-m-d H:i:s'),$db->safesql($sms_code)));Вопрос. каким образом поле "code" залочить only английский язык? или как этот запрос может быть модифицировать, что бы он мог только английские буквы и цифры пропускать? спасибо! |
А не проще ли ещё перед запросом проверять введённые данные регуляркой?..
|
Gray_Wolf,
Помоги, пожалуйста. мозг кипит уже.. Код:
$sms_form = false; |
Код:
$sms_form = false; |
L I G A,
Спасибо за попытку.. Warning: preg_match(): Compilation failed: missing terminating ] for character class at offset 14 in /home...../files_download.php on line 331 Это в шапке.. $sms_error = 'Неправильный код!'; сюда даже не доходит. + в таком варианте не работает вообще проверка :-( |
Код:
$sms_form = false;Код:
if (preg_match('/^([a-zA-Z0-9]+)$/', $sms_code)) { |
L I G A,
теперь не ругается в шапке.. но все равно до проверки и else не доходит ( а уж темболее до запроса) MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0001 сек. ) |
Цитата:
|
L I G A,
смс_код вида md5 первые 6 символов ( так я реализовал рандом генерацию ) т.е. например cdd85c да .. и при ввода любого бреда .. или же русских символов.. скрипт перестал отвечать, что " $sms_error = 'Неправильный код!';" а раньше - отвечал естественно. .. |
пробуй так:
Код:
$sms_form = false; |
| Время: 16:53 |