Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ajax не коректно работает в Опере [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: В чем проблемма?
taxi008
Отправлено: 14 Декабря, 2011 - 05:49:41
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Вопрос как перекодировать все файлы php и tpl ???
У меня поверка имени стоит в форме обратной связи - отправки письма в html формате прямо на принтер.

(Отредактировано автором: 14 Декабря, 2011 - 06:01:58)

 
 Top
Viper
Отправлено: 14 Декабря, 2011 - 07:52:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




taxi008 notepad++ в нем пересохранить в utf8 без BOM


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
taxi008
Отправлено: 15 Декабря, 2011 - 12:40:15
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Дело в том, что в результате проб и ошибок я выяснил следующее. Запрос к базе скрипт почему то отправляет с оперы в кодировке utf8, а в других браузерах кодировка windows-1251. База в windows-1251. Устанавливаю...
PHP:
скопировать код в буфер обмена
  1. $name=iconv("UTF-8","windows-1251",$_GET['name']);
. Вроде все должно быть нормально. Теперь опера работает в windows-1251. А остальные браузеры по видемому в utf8. Подскажите как заставить работать все браузеры в windows-1251.
(Добавление)
Меняю кодировку таблицы в базе с СР1251 на utf8. Все остается по старому. Опера не работает, остальные браузеры нормально. В чем же проблемма?
 
 Top
taxi008
Отправлено: 15 Декабря, 2011 - 15:10:14
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




У меня весь сайт в windows-1251. Думаю базу перекодировать на UTF-8 не стоит?
 
 Top
Мелкий Супермодератор
Отправлено: 15 Декабря, 2011 - 15:27:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Стоит всё заменить на utf8. Нормально аякс работает только в utf8.


-----
PostgreSQL DBA
 
 Top
taxi008
Отправлено: 17 Декабря, 2011 - 02:10:52
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Перекодировать весь сайт в utf8 ? Или только те страницы и базу, что работает с ajax_ом. Скажется это на позициях в поисковике?
 
 Top
taxi008
Отправлено: 18 Декабря, 2011 - 19:20:44
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Я не могу понять следующее!
1) Проверка на наличие Русского слова в базе пороходит не коректно только в опере.
2) Ставлю
PHP:
скопировать код в буфер обмена
  1. $name=iconv("UTF-8","windows-1251",$_GET['name']);

Опера работает коректно, но остальные браузеры увы пишут "слово не найдено".
3) Ставлю
PHP:
скопировать код в буфер обмена
  1. $name=iconv("windows-1251","UTF-8",$_GET['name']);

Все браузеры работают не коректно ("слово не найдено").
Вопрос в какой же кодировке работают браузеры?

(Отредактировано автором: 18 Декабря, 2011 - 19:21:29)

 
 Top
tuareg
Отправлено: 18 Декабря, 2011 - 19:45:11
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Тут просто получается либо Opera где-то косячит, либо все остальные браузеры.
Браузеры работают в кодировке, в которой указал пользователь. Тут пробелмма не в работе браузера, а в том что ajax не работает(криво) с кодировкой не utf-8
 
 Top
taxi008
Отправлено: 18 Декабря, 2011 - 20:19:43
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Да вроде нечему работать криво.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var name,
  3.       nameStat,
  4. $(function() {
  5.         //Логин
  6.         $("#name").change(function(){
  7.                 name = $("#name").val();
  8.                 var expName = /^[а-яА-Яa-zA-Z0-9_]+$/g;
  9.                 var resName = name.search(expName);
  10.                 if(resName == -1){
  11.                         $("#name").next().hide().text("Неверный логин").css("color","red").fadeIn(400);
  12.                         $("#name").removeClass().addClass("inputRed");
  13.                         nameStat = 0;
  14.                         buttonOnAndOff();
  15.                 }else{
  16.                         $.ajax({
  17.                         url: "include/testingLoginEmail.php",
  18.                         type: "GET",
  19.                         data: "name=" + name,
  20.                         cache: false,
  21.                         success: function(response){
  22.                                 if(response == "no"){
  23.                                         $("#name").next().hide().text("Логин занят").css("color","red").fadeIn(400);
  24.                                         $("#name").removeClass().addClass("inputRed");                                 
  25.                                 }else{                                 
  26.                                         $("#name").removeClass().addClass("inputGreen");
  27.                                         $("#name").next().text("");
  28.                                 }                      
  29.                                
  30.                         }
  31.                 });
  32.                         nameStat = 1;
  33.                         buttonOnAndOff();
  34.                 }
  35.                
  36.         });
  37.         $("#name").keyup(function(){
  38.                 $("#name").removeClass();
  39.                 $("#name").next().text("");
  40.         });
  41. function buttonOnAndOff(){
  42.                 if(nameStat == 1){
  43.                         $("#button").removeAttr("disabled");
  44.                 }else{
  45.                         $("#button").attr("disabled","disabled");
  46.                 }
  47.        
  48.         }
  49.        
  50. });
  51.  

(Отредактировано автором: 18 Декабря, 2011 - 20:20:45)

 
 Top
tuareg
Отправлено: 18 Декабря, 2011 - 20:30:29
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Да нет, Вы не поняли. Криво, я имел ввиду, что он отдает непонятно что "кракозябры"
Вот смотрите ajax передает в кодировке utf-8. Потом перед отправкой он "вроде бы" пытается еще закодировать ее(urlDecode).
Вообще ну если уж Вам так не хочется перекодировать всю страницу и Бд. Сделайте запрос
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $.ajax({
  3.                         url: "include/testingLoginEmail.php",
  4.                         type: "POST",
  5.                         ...
  6.  

По идее с POST проблем быть не должно
 
 Top
taxi008
Отправлено: 18 Декабря, 2011 - 22:06:36
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Прописал
.
Скрипт стал вадавать положительный результат ( слово в базе есть ) в любом случае.
Даже если ввожу не верное. Что то нужно менять в скрипте?
 
 Top
tuareg
Отправлено: 18 Декабря, 2011 - 22:55:49
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




А тут поменяли?
PHP:
скопировать код в буфер обмена
  1.  
  2. $name=iconv("windows-1251","UTF-8",$_POST['name']);
  3.  

(Добавление)
У Вас же это уже на сайте лежит? Дайте я ссылочку гляну

(Отредактировано автором: 18 Декабря, 2011 - 22:57:06)

 
 Top
taxi008
Отправлено: 19 Декабря, 2011 - 03:36:40
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Лежит на сайте при регистрации в личном кабинете.
Я пробовал ставить
PHP:
скопировать код в буфер обмена
  1. $name=iconv("windows-1251","UTF-8",$_POST['name']);

После чего не один браузер не работает коректно, так как таблицы в windows-1251.
Так же пробовал ставить
PHP:
скопировать код в буфер обмена
  1. $name=iconv(""UTF-8",windows-1251",$_POST['name']);

После чего опера начинает работать нормально, а вот другие браузеры работают не коректно (name в базе не находят).
Тоесть если работает опера то не работают например Explorer или Mozilla. убираешь iconv то все наоборот.
(Добавление)
Аналогичная тема по этой ссылке http://forum[dot]searchengines[dot]ru/ar[dot][dot][dot]hp/t-504703[dot]html
(Добавление)
Сайт который делаю http://www[dot]eu-taxi[dot]ru/
(Добавление)
В то же время захожу в личный кабинет через оперу. Из кабинета меняю name на новое. Тоесть в одно поле ввожу старое имя в в два других ввожу новое имя жму изменить. Меняет коректно. проверяю в базе замена прошла в нормальной кодировке. Проверяю через например Mozill-у. Проверка проходит коректно. Наверное проблемма с аяксом. Но как исправить ???
 
 Top
tuareg
Отправлено: 19 Декабря, 2011 - 03:52:37
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Я же говорю косяк самой оперы.
Попробуйте так.
Не отправляйте $.ajax. А выводите alert(name). И посмотрите одинаково ли они выводятся??
Пропишите то, что по ссылке говорят.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. encodeURIComponent(lt);
  3.  

Если выводятся одинаковые значения, тут все полный п...., если же нет, то тогда каким-то образом приводить их к одинаковому значению.
Еще можно глянуть. У googl-a есть сжималка js.
http://javascript[dot]ru/optimize/go[dot][dot][dot]ple-optimization
Там внизу комментарии 4 сверху и ответ к нему.
Т.е возможно придется ручками перекодировать и на сервере обратно
 
 Top
taxi008
Отправлено: 19 Декабря, 2011 - 13:22:37
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Сент. 2011  
Откуда: Москва


Помог: 0 раз(а)




Спасибо! Все работает!
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB