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
Форумы портала PHP.SU :: Версия для печати :: запись в файл "откуда пришол юзер"
Форумы портала PHP.SU » » Вопросы новичков » запись в файл "откуда пришол юзер"

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

1. foozzi - 02 Сентября, 2011 - 22:08:27 - перейти к сообщению
написал скрипт для записи инфы и откуда пришол юзвер на сайт

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $fileref = 'ref.txt';
  3. $ref = $_SERVER['HTTP_REFERER'];
  4.  
  5. // Проверка на запись
  6. if (is_writable($ref)) {
  7.  if (!$handle = fopen($ref, 'a')) {
  8.          echo "Не могу открыть файл ($ref)";
  9.          exit;
  10.     }
  11.  
  12. // Запись  
  13. if (fwrite($handle, $ref) === FALSE) {
  14.         echo "Не могу произвести запись в файл ($ref)";
  15.         exit;
  16.     }
  17. // Закрываем файл    
  18.     fclose($handle);
  19.  
  20. } else {
  21.     echo "Файл $ref недоступен для записи";
  22. }
  23. ?>
  24.  
  25.  
  26.  


заинклудил файл в index.php (то есть на главной) но он все равно не пишет в txt файл ничего, и ошибок нет...
что тут не так?
2. DeepVarvar - 02 Сентября, 2011 - 22:42:45 - перейти к сообщению
foozzi пишет:
$ref = $_SERVER['HTTP_REFERER'];

foozzi пишет:
fopen($ref...

foozzi пишет:
90% ошибок находятся в полуметре от монитора...

Радость Радость Радость
3. foozzi - 02 Сентября, 2011 - 22:56:34 - перейти к сообщению
аааааа тю блин допер спс, ваще башка не варит! ))

ну вот исправил

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $fileref = 'ref.txt';
  3. $ref = $_SERVER['HTTP_REFERER'];
  4.  
  5. // Проверка на запись
  6. if (is_writable($fileref)) {
  7.  if (!$handle = fopen($fileref, 'a')) {
  8.          echo "Не могу открыть файл ($fileref)";
  9.          exit;
  10.     }
  11.  
  12. // Запись  
  13. if (fwrite($handle, $ref) === FALSE) {
  14.         echo "Не могу произвести запись в файл ($fileref)";
  15.         exit;
  16.     }
  17. // Закрываем файл    
  18.     fclose($handle);
  19.  
  20. } else {
  21.     echo "Файл $fileref недоступен для записи";
  22. }
  23. ?>
  24.  
  25.  
  26.  


0 по массе
4. White - 02 Сентября, 2011 - 23:23:43 - перейти к сообщению
foozzi боюсь спросить, а с какой страницы вы собственно приходите? и что по вашему должно быть в HTTP_REFERER?
добавьте
где нибудь в начале
5. foozzi - 02 Сентября, 2011 - 23:58:51 - перейти к сообщению
White пишет:
foozzi боюсь спросить, а с какой страницы вы собственно приходите? и что по вашему должно быть в HTTP_REFERER?
добавьте
где нибудь в начале


все отлично записывает! спс

а вот теперь вопрос, например я нахожусь на гл. странице, где этот скрипт, нажимаю на шапку, то есть обновить страницу, скрипт записывает что я пришол с гл. страницы на гл. страницу своего сайта...

как не записывать переходы на своем сайте?
6. DeepVarvar - 03 Сентября, 2011 - 00:07:32 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (!stristr($_SERVER['HTTP_REFERER'],"mysite.com")) // пишем
7. foozzi - 03 Сентября, 2011 - 00:25:25 - перейти к сообщению
DeepVarvar пишет:
PHP:
скопировать код в буфер обмена
  1. if (!stristr($_SERVER['HTTP_REFERER'],"mysite.com")) // пишем


ок спс, вот еще беда, записывает сплошной строкой,. я сделал так
PHP:
скопировать код в буфер обмена
  1. // Запись  
  2. if (!stristr($_SERVER['HTTP_REFERER'],"http://bsd-world.ru/index.php"))
  3. if (fwrite($handle, $ref) === FALSE)
  4. echo '<br>';
  5.  {
  6.         echo "Не могу произвести запись в файл ($fileref)";
  7.         exit;
  8.     }


но мне кажется это ваще сущий бред... но все равно идет в одну строку, и ошибок нет, как подскажеш?
8. DeepVarvar - 03 Сентября, 2011 - 00:30:46 - перейти к сообщению

(Добавление)
foozzi пишет:
http://bsd-world.ru/index.php
Оставь только домен bsd-world.ru
9. foozzi - 03 Сентября, 2011 - 00:42:08 - перейти к сообщению
чудесно, спасиб за помощь всем

ах да... как убрать пробелы там где переход идет со своего сайта, а то так получается:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. http://site.ru/viewtopic.php?pid=208387
  3. http://site.ru/viewtopic.php?pid=208387
  4.  
  5. http://site.ru/viewtopic.php?pid=208387
10. DeepVarvar - 03 Сентября, 2011 - 00:48:03 - перейти к сообщению
foozzi пишет:
переход идет со своего сайта

DeepVarvar пишет:
Оставь только домен bsd-world.ru
11. foozzi - 03 Сентября, 2011 - 01:02:46 - перейти к сообщению
DeepVarvar пишет:
foozzi пишет:
переход идет со своего сайта

DeepVarvar пишет:
Оставь только домен bsd-world.ru


ну поставил же
12. foozzi - 03 Сентября, 2011 - 07:42:20 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. if (!stristr($_SERVER['HTTP_REFERER'],"bsd-world.ru")) {
  3. echo 'Вы пришли на эту страницу из' .  $_SERVER['HTTP_REFERER'];  
  4. }
  5. else {
  6.         echo '';
  7.         }
  8. ?>
  9.  
  10. <?PHP
  11. $fileref = 'ref.txt';
  12. $ip = 'Адресс пользователя ' . $_SERVER['REMOTE_ADDR'];
  13. $date_time = 'Часовой пояс ' . date_default_timezone_get();
  14. $link = 'Откуда пришол ' . $_SERVER['HTTP_REFERER'];
  15. $ref = "$ip\r" . "$link\r" . "$date_time";
  16.  
  17. // Проверка на запись
  18.  if (is_writable($fileref)) {
  19.  // Открытие файла
  20.  if (!$handle = fopen($fileref, 'a')) {
  21.          echo "Не могу открыть файл ($fileref)";
  22.          exit;
  23.     }
  24.  
  25. // Функция запрещает записывать переходу по своему сайту  
  26. if (!stristr($_SERVER['HTTP_REFERER'],"lineage-foozzi.ru"))
  27.  
  28. // Запись
  29. if (fwrite($handle, "$ref\r\n") === FALSE)
  30. {
  31.         echo "Не могу произвести запись в файл ($fileref)";
  32.         exit;
  33.     }
  34. // Закрываем файл    
  35.     fclose($handle);
  36.  
  37. } else {
  38.     echo "Файл $fileref недоступен для записи";
  39. }
  40. ?>
  41.  


все равно выводит "Вы пришли на эту страницу из" хотя я дал ему , если есть домен моего сайта, значит пустоту выводить, а он все равно пишет "Вы пришли на эту страницу из"

и как избывится от пробелов то, которые пишутсяв файл
13. White - 03 Сентября, 2011 - 08:44:55 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Функция запрещает записывать переходу по своему сайту  
  3. if (!stristr($_SERVER['HTTP_REFERER'],"lineage-foozzi.ru")) {
  4. $fileref = 'ref.txt';
  5. $ip = 'Адресс пользователя ' . $_SERVER['REMOTE_ADDR'];
  6. $date_time = 'Часовой пояс ' . date_default_timezone_get();
  7. $link = 'Откуда пришол ' . $_SERVER['HTTP_REFERER'];
  8. $ref = "$ip\r" . "$link\r" . "$date_time";
  9.  
  10.  
  11. // Проверка на запись
  12.  if (is_writable($fileref)) {
  13.  // Открытие файла
  14.  if (!$handle = fopen($fileref, 'a')) {
  15.          echo "Не могу открыть файл ($fileref)";
  16.          exit;
  17.     }
  18.  
  19.  
  20. // Запись
  21. if (fwrite($handle, "$ref\r\n") === FALSE)
  22. {
  23.         echo "Не могу произвести запись в файл ($fileref)";
  24.         exit;
  25.     }
  26. // Закрываем файл    
  27.     fclose($handle);
  28.  
  29. } else {
  30.     echo "Файл $fileref недоступен для записи";
  31. }
  32. }
  33. ?>
14. foozzi - 03 Сентября, 2011 - 10:33:40 - перейти к сообщению
White пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Функция запрещает записывать переходу по своему сайту  
  3. if (!stristr($_SERVER['HTTP_REFERER'],"lineage-foozzi.ru")) {
  4. $fileref = 'ref.txt';
  5. $ip = 'Адресс пользователя ' . $_SERVER['REMOTE_ADDR'];
  6. $date_time = 'Часовой пояс ' . date_default_timezone_get();
  7. $link = 'Откуда пришол ' . $_SERVER['HTTP_REFERER'];
  8. $ref = "$ip\r" . "$link\r" . "$date_time";
  9.  
  10.  
  11. // Проверка на запись
  12.  if (is_writable($fileref)) {
  13.  // Открытие файла
  14.  if (!$handle = fopen($fileref, 'a')) {
  15.          echo "Не могу открыть файл ($fileref)";
  16.          exit;
  17.     }
  18.  
  19.  
  20. // Запись
  21. if (fwrite($handle, "$ref\r\n") === FALSE)
  22. {
  23.         echo "Не могу произвести запись в файл ($fileref)";
  24.         exit;
  25.     }
  26. // Закрываем файл    
  27.     fclose($handle);
  28.  
  29. } else {
  30.     echo "Файл $fileref недоступен для записи";
  31. }
  32. }
  33. ?>


не изменилось ничего
15. DeepVarvar - 03 Сентября, 2011 - 13:01:17 - перейти к сообщению
DeepVarvar пишет:
if (!stristr($_SERVER['HTTP_REFERER'],"mysite.com")) // пишем

Помоему нормально написано. А у вас в примере мы не пишем а разбираем, а пишем вообще в любом случае...

 

Powered by ExBB FM 1.0 RC1