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 :: В опере почему-то косячет

 PHP.SU

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


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

> Без описания
pantela
Отправлено: 23 Февраля, 2012 - 10:41:24
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




Сайт сделала на фремворке CI.
Не пойму почему в опере айт выводит ошибку, а иногда не выводит.

CODE (htmlphp):
скопировать код в буфер обмена
  1. Error Number: 1064
  2.  
  3. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'admin' at line 8
  4.  
  5.  select SQL_CALC_FOUND_ROWS c.id, c.views, c.p_date, cl.title, cl.description from content as c left join content_lang cl on cl.id = c.id left join languages l on l.id = cl.lang_id where c.active = 1 and l.`code` = 'ru' and c.mode = 'competition' group by c.id order by c.id desc limit 0, admin
  6.  
  7. Filename: /home/siteru/domains/site.ru/public_html/models/content_model.php
  8.  
  9. Line Number: 20


Файл модели:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. class Content_Model extends CI_Model {
  4.  
  5.     function __construct() {
  6.         parent::__construct();
  7.         $this->load->database();
  8.     }
  9.    
  10.     public function getList($mode, $page = 0, $per_page = 20){
  11.         $sql = '    select SQL_CALC_FOUND_ROWS c.id, c.views, c.p_date, cl.title, cl.description
  12.                    from content as c
  13.                    left join content_lang cl on cl.id = c.id
  14.                    left join languages l on l.id = cl.lang_id
  15.                    where c.active = 1 and l.`code` = \''.$this->config->item('language_abbr').'\' and c.mode = \''.$mode.'\'
  16.                    group by c.id
  17.                     order by c.id desc
  18.                    limit '.$page.", ".$per_page;
  19.        
  20.         $result = $this->db->query($sql)->result();
  21.         $count = $this->db->query('SELECT FOUND_ROWS() as count')->row();
  22.         $this->load->library('session');
  23.         $this->session->set_userdata(array('selected_content_count' => $count->count));
  24.         return $result;
  25.     }  
  26.    
  27.     public function getContent($id){
  28.                 $this->db->query("UPDATE `content` SET `views`= `views` + 1 WHERE `id` = '".$id."'");
  29.         $sql =' select c.id, c.views, c.p_date, c.mode, cl.title, cl.content, cl.description, cl.keywords
  30.                from content as c
  31.                left join content_lang cl on cl.id = c.id
  32.                left join languages l on l.id = cl.lang_id
  33.                where c.id = \''.$id.'\' and l.code = \''.$this->config->item('language_abbr').'\'
  34.                group by c.id';
  35.         return $this->db->query($sql)->row();
  36.     }
  37. }
  38.  
 
 Top
snikers987
Отправлено: 23 Февраля, 2012 - 10:44:49
Post Id



Участник


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


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




Данная ошибка никакого отношения к браузеру не имеет.
Вы посмотрите на запрос, особенно в после LIMIT

смотрите от куда берется значение переменной $per_page и почему оно равно admin?

(Отредактировано автором: 23 Февраля, 2012 - 10:50:10)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Panoptik
Отправлено: 23 Февраля, 2012 - 10:47:44
Post Id



Постоянный участник


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


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




сделайте вывод запроса и покажите его
PHP:
скопировать код в буфер обмена
  1. $sql = '    select SQL_CALC_FOUND_ROWS c.id, c.views, c.p_date, cl.title, cl.description
  2.                   from content as c
  3.                   left join content_lang cl on cl.id = c.id
  4.                   left join languages l on l.id = cl.lang_id
  5.                   where c.active = 1 and l.`code` = \''.$this->config->item('language_abbr').'\' and c.mode = \''.$mode.'\'
  6.                   group by c.id
  7.                    order by c.id desc
  8.                   limit '.$page.", ".$per_page;
  9.  
  10. echo $sql;


-----
Just do it
 
 Top
pantela
Отправлено: 23 Февраля, 2012 - 11:14:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




Panoptik
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SQL_CALC_FOUND_ROWS c.id, c.views, c.p_date, cl.title, cl.description FROM content AS c LEFT JOIN content_lang cl ON cl.id = c.id LEFT JOIN languages l ON l.id = cl.lang_id WHERE c.active = 1 AND l.`code` = 'ru' AND c.mode = 'entertainment' GROUP BY c.id ORDER BY c.id DESC LIMIT 0, 10


Но я не могу понять:
1. Почему только в Опрее токой косяк
2. Почему иногда бывает косяк иногда нет
3. Почему в запрос прописывается "admin"

Обнавил страницу, не меняя кода. и почему-то подставилось slide_logo.js

CODE (SQL):
скопировать код в буфер обмена
  1. Error Number: 1064
  2.  
  3. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 'slide_logo.js' at line 8
  4.  
  5.  SELECT SQL_CALC_FOUND_ROWS c.id, c.views, c.p_date, cl.title, cl.description FROM content AS c LEFT JOIN content_lang cl ON cl.id = c.id LEFT JOIN languages l ON l.id = cl.lang_id WHERE c.active = 1 AND l.`code` = 'ru' AND c.mode = 'entertainment' GROUP BY c.id ORDER BY c.id DESC LIMIT 10, slide_logo.js
  6.  
  7. Filename: Z:\home\test8.ru\www\system\DATABASE\DB_driver.php
  8.  
  9. Line Number: 330


Я так опнимаю он что то переменую не хочет брать что ли :?

(Отредактировано автором: 23 Февраля, 2012 - 11:19:47)

 
 Top
Panoptik
Отправлено: 23 Февраля, 2012 - 11:20:50
Post Id



Постоянный участник


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


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




когда вы выводили этот запрос у вас же не было ошибки?
хотелось бы посмотреть на запрос, именно когда возникает ошибка

дебаг вам в помощь. просматривайте переменные, входящие значения в массивах $_POST, $_GET, $_COOKIE. Попробуйте так же очистить куки в браузере и кеш
(Добавление)
ищите по коду выше что и когда попадает в эту переменную. возможно, именно когда вы вызываете метод getList


-----
Just do it
 
 Top
pantela
Отправлено: 23 Февраля, 2012 - 11:36:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SQL_CALC_FOUND_ROWS c.id, c.views, c.p_date, cl.title, cl.description FROM content AS c LEFT JOIN content_lang cl ON cl.id = c.id LEFT JOIN languages l ON l.id = cl.lang_id WHERE c.active = 1 AND l.`code` = 'ru' AND c.mode = 'entertainment' GROUP BY c.id ORDER BY c.id DESC LIMIT 30, fb-traff.css


Как я понял почему-то подставляется в переменую $per_page другие значения, а именно сейчас подставился файл fb-traff.css Растерялся

в Куках ничего нету.

Вот етсь интересынй момент то что в админ чатси там тоже где есть переменая $per_page туда тоже подставилось fb-traff.css

Код кривой что ли и опера не понимает его? Просто странно что иногда всё ок...
(Добавление)
А вот функция которая в контролере
PHP:
скопировать код в буфер обмена
  1. public function index($cur_page = 0, $per_page = null){
  2.         $this->load->model('Categories_Model', 'Cats');
  3.         $categories = $this->Cats->getCategories();
  4.         $this->load->library('session');
  5.         $this->load->library('pagination');
  6.        
  7.         if($per_page != null && $per_page!=$this->session->userdata('per_page'))
  8.             $this->session->set_userdata(array('per_page' => $per_page));
  9.         elseif(!$this->session->userdata('per_page'))
  10.             $this->session->set_userdata(array('per_page' => 10));
  11.        
  12.        
  13.         $items = $this->content->getList('entertainment', $cur_page, $this->session->userdata('per_page') );
  14.        
  15.         $config['first_link'] = '&nbsp;<<&nbsp;First&nbsp;';
  16.         $config['first_tag_open'] = '<span class="pagenav">';
  17.         $config['first_tag_close'] = '</span>';
  18.         $config['last_link'] = '&nbsp;Last&nbsp;>>&nbsp;';
  19.         $config['last_tag_open'] = '<span class="pagenav">';
  20.         $config['last_tag_close'] = '</span>';
  21.        
  22.         $config['next_link'] = '&nbsp;Next&nbsp;>&nbsp;';
  23.         $config['next_tag_open'] = '<span class="pagenav">';
  24.         $config['next_tag_close'] = '</span>';
  25.        
  26.         $config['prev_link'] = '&nbsp;<&nbsp;Prev&nbsp;';
  27.         $config['prev_tag_open'] = '<span class="pagenav">';
  28.         $config['prev_tag_close'] = '</span>';
  29.         $config['uri_segment'] = 2;
  30.         $config['base_url'] = base_url().'fun/index/';
  31.         $config['total_rows'] = $this->session->userdata('selected_content_count');
  32.         $config['per_page'] = $this->session->userdata('per_page');
  33.         $this->pagination->initialize($config);
  34.  
  35.         /* ___ Passing HTML Blocks To Main  ___ */
  36.         $layout_data = array(
  37.             'content' => $this->load->view('fun/list', array('data' => $items, 'paginator' => $this->pagination->create_links(), 'per_page' => $this->session->userdata('per_page') ), true),
  38.             'top_menu' => $this->load->view('blocks/top_menu', '', true),
  39.             'banners' => $this->banners->getBanners()
  40.         );
  41.  
  42.         $this->load->view('main_page', $layout_data);
  43.     }
 
 Top
Panoptik
Отправлено: 23 Февраля, 2012 - 11:42:04
Post Id



Постоянный участник


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


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




опера тут не причем. тут действия осуществляются на сервере.
замените переменную $per_page другим именем. у вас конфликт глобальных переменных.


-----
Just do it
 
 Top
pantela
Отправлено: 23 Февраля, 2012 - 11:46:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




То работает то нет Хватит ржать даже не додумываюсь как проверить...

UPDATE: Переименовал и тоже самое...

(Отредактировано автором: 23 Февраля, 2012 - 12:44:32)

 
 Top
pantela
Отправлено: 29 Февраля, 2012 - 12:09:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




Заметил интересный момент, то что у меня в Опере (не проверял в других браузерах, т.к. только в опере косячет) в куки сохраняется куки виде: tinymcePasteText, с значением 1 с истеканием времени на 1 день.

И таких куки "tinymcePasteText" несколько, и как я понял они берутс с тех страниц где идёт редактирование, т.е. там где подключён редактор TinyMCE

Далее при сканиварония этого куки по файлам редактора нашёл:

CODE (javascript):
скопировать код в буфер обмена
  1.                                         if ((ed.pasteAsPlainText) && (!cookie.get("tinymcePasteText"))) {
  2.                                                 if (getParam(ed, "paste_text_sticky")) {
  3.                                                         ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky'));
  4.                                                 } else {
  5.                                                         ed.windowManager.alert(ed.translate('paste.plaintext_mode'));
  6.                                                 }
  7.  
  8.                                                 if (!getParam(ed, "paste_text_notifyalways")) {
  9.                                                         cookie.set("tinymcePasteText", "1", new Date(new Date().getFullYear() + 1, 12, 31))
  10.                                                 }
  11.                                         }


Теперь не понятно почему оно вобще записывается, а если записывается, тогда почему оно мешается мне и подставляется в запрос... Растерялся

(Отредактировано автором: 29 Февраля, 2012 - 13:04:00)

 
 Top
pantela
Отправлено: 01 Марта, 2012 - 14:22:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




Ни у кого нету идей Однако вроде догнали что как а вот как испраивть баг. Растерялся
 
 Top
Zuldek
Отправлено: 01 Марта, 2012 - 14:55:15
Post Id


Постоянный участник


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


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




Не видя исходников это сделать сложно. Браузер тут не причем. Разве что в зависимости от настроек куков в браузере у вас в переменную $per_page пишется не нужное или не пишется.
 
 Top
pantela
Отправлено: 01 Марта, 2012 - 17:03:34
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


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




Исходники чего сайта? Какие именно файлы показать контейнера, вывода, модели Недовольство, огорчение ?
 
 Top
Tonik992
Отправлено: 02 Марта, 2012 - 02:21:03
Post Id


Новичок


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


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




Проверь на всех этапах значение переменной $per_page посредством echo. Таким способ узнаешь в каком месте переменная имеет "неправильное" значение.
 
 Top
Zuldek
Отправлено: 02 Марта, 2012 - 07:40:07
Post Id


Постоянный участник


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


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




сложно правильно представить всю структуру приложения не видя её, поэтому, если не используйте системы типа netbeans, сделайте поиск grepom всех файлов от корневого каталога сайта содержащих текст per_page. Для начала потребуются они.

(Отредактировано автором: 02 Марта, 2012 - 07:40:38)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB