Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: jquery serialize() и обработка кириллицы
 
 автор: kireyev   (30.08.2012 в 14:49)   письмо автору
 
 

Добрый день, передаю форму на обработку:
function feedback_form() {
$.get('feedback_form.php', $('#feedback_form_2').serialize(),function(data){alert(data);})};

Принимаю в php:
if (preg_match("/^[а-я]+$/i", $_GET['name'])) { echo "ok"; } else { echo "Некорректное имя: ".$_GET['name']; }

и получаю проблемы с кириллицей/ Например ввод поле name 'алек' выдает результат 'ok' а ввод 'александр' выдает 'Некорректное имя...'

Как быть?
P.S.: все написано и сделано в UTF-8 как положено

  Ответить  
 
 автор: Deed   (30.08.2012 в 22:44)   письмо автору
 
   для: kireyev   (30.08.2012 в 14:49)
 

Ну, я полагаю, что можно в приемнике сперва обработать $_GET:

<?php
parse_str
($_GET$output);
if (
preg_match("/^[а-я]+$/ui"$output['name'])) { echo "ok"; } else { echo "Некорректное имя: ".$output['name']; }

?>

Ибо http://php.su/functions/?parse-str

  Ответить  
 
 автор: kireyev   (31.08.2012 в 09:14)   письмо автору
 
   для: Deed   (30.08.2012 в 22:44)
 

Ваш вариант выдает ошибку:
parse_str() expects parameter 1 to be string, array given

  Ответить  
 
 автор: confirm   (31.08.2012 в 09:26)   письмо автору
 
   для: kireyev   (31.08.2012 в 09:14)
 

Вы в своем варианте не указали модификатор для utf - u. И зачем parse_str(), если вы знаете какой ключ проверять.

  Ответить  
 
 автор: kireyev   (31.08.2012 в 09:55)   письмо автору
 
   для: Deed   (30.08.2012 в 22:44)
 

Оказывается проблема была не в обработке $_GET, эта переменная уже прилетала в обработчик как массив. все дело было в регулярном выражении, надо было добавить /u:
/^[а-я]+$/ui

Всем спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования