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 :: Проблема с записью значения $_SERVER[REQUEST_URI] в базу

 PHP.SU

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


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

> Без описания
Varan
Отправлено: 16 Октября, 2012 - 11:28:33
Post Id



Гость


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


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




Ребят , помогите , уже весь мозг сломал
значит есть функция которая мониторит пользователей онлайн
PHP:
скопировать код в буфер обмена
  1.  
  2. function on_off_line ($time_out)
  3. {
  4. $id_session = session_id();
  5. $sql_update = "DELETE FROM `on_line_user` WHERE `time`+$time_out < ".time().
  6.               " OR `id_session` = '$id_session'";
  7. if (mysql_query ($sql_update)){//echo "грохнули неактивных и текущего";}
  8.  
  9. //отделим гостей от пользователя
  10. if (empty ($_SESSION['id']))
  11. {
  12. $user = 'Гость';
  13. $user_id = 0 ;
  14. }
  15. else
  16. {
  17. $user = $_SESSION ['login'];
  18. $user_id = $_SESSION['id'] ;
  19. }
  20. $time_viev = time();
  21. $url_viev= $_SERVER['REQUEST_URI']; // определяем запрашиваемую страницу
  22. $ip_host = $_SERVER['REMOTE_ADDR'];// айпи пользователя
  23. $brauzer = $_SERVER["HTTP_USER_AGENT"];// браузер
  24.  
  25. //запишим посетителя в таблицу
  26. $query = "INSERT INTO on_line_user VALUES ('$id_session','$user_id','$user','$time_viev','$url_viev','$ip_host','$brauzer')" ;
  27.               if (mysql_query ($query))
  28.               {
  29.                 //echo "записано в базу";
  30.               }
  31.               else
  32.               {
  33.                 //echo "<br>Ошибка записи в базу данных";
  34.                 exit (mysql_error());
  35.               }
  36. }
  37.  


проблема с записью $url_viev в базу, заключается в следующем
$url_viev= $_SERVER[REQUEST_URI] в моем случае равно /page_forms_edit/article/23
вывожу значение перед записью в базу и после выводит /page_forms_edit/article/23
тоесть как положенно
но в базу переменная переодически заносится как /page_forms_edit/article/favicon .ico
/favicon.ico - откуда берется я не пойму, как получается, что записывается какимто образом измененная переменная в которой числовой индекс страницы заменяется на favicon.ico

(Отредактировано автором: 16 Октября, 2012 - 11:29:52)

 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2012 - 11:33:39
Post Id



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


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


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




Не "как", а ещё вдобавок. Смотрите соседние записи и логи веб-сервера.
Браузер пробует найти фавиконку, а по роутингу вашему - обращение тоже логируется.


-----
PostgreSQL DBA
 
 Top
Varan
Отправлено: 16 Октября, 2012 - 11:39:37
Post Id



Гость


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


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




Мелкий пишет:
Не "как", а ещё вдобавок. Смотрите соседние записи и логи веб-сервера.
Браузер пробует найти фавиконку, а по роутингу вашему - обращение тоже логируется.

ну я то вывожу значение $url_viev через echo и никаких намеков на favicon.ico нет , ну ладно б если оно добавлялось бы к /page_forms_edit/article/23 а оно полностью заменяет последний идентификатор 23 (и любой другой), проблема видна только в при записи в базу , во всех других случаях отсутствует .
 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2012 - 12:05:43
Post Id



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


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


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




Хорошо, я повторю более развёрнуто:
При загрузке страницы отрабатывает ваш скрипт, всё нормально пишет. Получив HTML, браузер её разбирает, подгружает другие файлы. А так же, если его местоположение не указано, ищет фавиконку favicon.ico. Ищет (если не ошибаюсь, зависит от браузера) в корне сайта, в текущей директории (тут и получаем урл, по которому у вас вопрос).


-----
PostgreSQL DBA
 
 Top
Varan
Отправлено: 16 Октября, 2012 - 12:16:09
Post Id



Гость


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


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




Мелкий пишет:
Хорошо, я повторю более развёрнуто:
При загрузке страницы отрабатывает ваш скрипт, всё нормально пишет. Получив HTML, браузер её разбирает, подгружает другие файлы. А так же, если его местоположение не указано, ищет фавиконку favicon.ico. Ищет (если не ошибаюсь, зависит от браузера) в корне сайта, в текущей директории (тут и получаем урл, по которому у вас вопрос).

еще раз говорю, причем тут html заголовки
имеем переменную
$url_viev= $_SERVER['REQUEST_URI']; // определяем запрашиваемую страницу
выводим переменную echo $url_viev
результат
/page_forms_edit/article/23
записываем переменную $url_viev в базу (если переменная назначена и у нее есть значение меняться она не должна)
в базе получаем /page_forms_edit/article/favicon .ico
как , как может изменится значение переменной
если ей назначить $url_viev ='хрень' как она может поменять значение при записи в базу 'не хрень'
(Добавление)
я могу допустить что значение $_SERVER['REQUEST_URI']; могло какимто непонятным для меня образом изменится при прямом записи его в базу типа
"INSERT INTO on_line_user VALUES ('$id_session',' $_SERVER[REQUEST_URI]')
но я то записываю туда не $_SERVER['REQUEST_URI'] а уже переменную которой было передано значение , приэтом это значение я вывожу на экран и оно нормальное.
 
 Top
avtor.fox
Отправлено: 16 Октября, 2012 - 12:43:00
Post Id



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


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




Varan ну што Вы. Што Вы.
Для прекращения whining, echo $query;
 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2012 - 12:44:08
Post Id



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


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


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




Varan пишет:
имеем переменную
$url_viev= $_SERVER['REQUEST_URI']; // определяем запрашиваемую страницу

И чему же она, по-вашему, равна, когда браузер в попытке найти фавиконку запрашивает файлик в текущей директории?
Подскажу: /page_forms_edit/article/favicon .ico и есть. А то, что это - ни разу не фавиконка, а что-то невнятное браузер узнаёт уже после того, как скрипт отработал и записал обращение в базу. Потому что PHP.


-----
PostgreSQL DBA
 
 Top
ugin_root
Отправлено: 16 Октября, 2012 - 13:01:13
Post Id


Частый гость


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


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




Varan
Покажите свой .htaccess, может у вас все что не найдено перенаправляется на [index.php], и там происходит запись в базу.

Ещё можно проверить посмотрев id строки в которую была произведена запись $url_viev, которая была "Хрень" а в базе оказалась "Не хрень"
PHP:
скопировать код в буфер обмена
  1. mysql_insert_id()//id последней вставленной записи (выполнять сразу после запроса)
 
 Top
Varan
Отправлено: 16 Октября, 2012 - 13:07:51
Post Id



Гость


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


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




avtor.fox пишет:
Varan ну што Вы. Што Вы.
Для прекращения whining, echo $query;

чет меня вообще порвало нафик , результат с ног сшибателен
INSERT INTO on_line_user VALUES ('fb8bbd42088e73d15c0446983ff39cf1','1','Aleks','1350381645','/article/5','127.0.0.1','Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4')
а в базе записано
`on_line_user`.`id_session` = 'fb8bbd42088e73d15c0446983ff39cf1'
AND `on_line_user`.`user_id` =1
AND `on_line_user`.`login` = 'Aleks'
AND `on_line_user`.`time` =1350381917
AND `on_line_user`.`url_page` = '/foto/_dsc7917.jpg'
AND `on_line_user`.`ip_host` = '127.0.0.1'
AND `on_line_user`.`brauzer` = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4';

,дайте мне пистолет или пристрелите чтоб не мучался, вообще не пойму что происходит
 
 Top
ugin_root
Отправлено: 16 Октября, 2012 - 13:11:07
Post Id


Частый гость


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


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




Varan
Покажите свой .htaccess, может у вас все что не найдено перенаправляется на [index.php], и там происходит запись в базу.

добавте поле id в базу с параметром AUTO_INCREMENT

(Отредактировано автором: 16 Октября, 2012 - 13:13:13)

 
 Top
Varan
Отправлено: 16 Октября, 2012 - 13:13:46
Post Id



Гость


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


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




разница во времени теперь еще обнаружилась в 272

хтачес стоит перенаправление на индексный файл, который в свою очередь и обрабатывает шаблоны
AddDefaultCharset UTF-8

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
 
 Top
avtor.fox
Отправлено: 16 Октября, 2012 - 13:13:49
Post Id



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


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




Varan
Вас не смущает разница в столбце тайм на 272 секунды?
///
Посмотрите на время моего поста. Я всего лишь опоздал на 3 секунды. Ха-ха

(Отредактировано автором: 16 Октября, 2012 - 13:18:36)

 
 Top
Varan
Отправлено: 16 Октября, 2012 - 13:15:13
Post Id



Гость


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


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




avtor.fox пишет:
Varan
Вас не смущает разница в столбце тайм на 272 секунды?

выше уже написал, смущает , увидел только после вашей посказки когда распечатал $query;
 
 Top
Мелкий Супермодератор
Отправлено: 16 Октября, 2012 - 13:20:07
Post Id



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


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


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




Varan пишет:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

Прочитайте ещё раз мои посты. Если не помогает - сходите отдохнуть, поспать, отвлечься.
Вы логируете в том числе 404 ошибки.


-----
PostgreSQL DBA
 
 Top
Varan
Отправлено: 16 Октября, 2012 - 13:23:42
Post Id



Гость


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


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




Мелкий пишет:
Varan пишет:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]

Прочитайте ещё раз мои посты. Если не помогает - сходите отдохнуть, поспать, отвлечься.
Вы логируете в том числе 404 ошибки.



аааа нифига!!!, Мелкий я понял о чем вы говорите, как только какоето содержимое страницы не найдено идет запрос в индексный файл и он заного выполняет файл естественно с запросом на ненайденное содержимое и естественно выполняется все функции, все что мне барану надобыло, поместить функцию после обработки корректности запроса. Понял это только благодаря тому, что запрос попался со странице с указанием изображения отсутствующем в директории. А заодно показало мне, что не везде у меня корректно указан путь к иконкам )))

(Отредактировано автором: 16 Октября, 2012 - 16:18:37)

 
 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