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

HTML+CSS+JavaScript

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

 

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

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

тема: Вопрос по ПХП & JavaScript
 
 автор: Karum   (04.09.2005 в 00:08)   письмо автору
 
 

Как работают счетчики (те что вставляют JavaScript код), точнее как можно передавать количество посетителей на сервер?

   
 
 автор: Евгений Петров   (04.09.2005 в 00:17)   письмо автору
 
   для: Karum   (04.09.2005 в 00:08)
 

Вставляется картинка типа <a href="http://domen.ru/counter.php">. Как видиш адресом картинки является php скрипт, который заносит в базу данных информацию о пользователе и формирует изображение с количеством хитов, хостов и.т.д.

   
 
 автор: Karum   (04.09.2005 в 00:22)   письмо автору
 
   для: Евгений Петров   (04.09.2005 в 00:17)
 

Ты не понял я про счетчик такого типа


<!-- bigmir)net TOP 100 --><a href="http://www.bigmir.net/" target=_blank onClick='img = new Image();img.src="http://www.bigmir.net/?cl=105577";' ><script language="javascript"><!--
bmQ='<img class="tt" src=http://c.bigmir.net/?s105577&t8'
bmD=document
bmD.cookie="b=b"
if(bmD.cookie)bmQ+='&c1'
//--></script><script language="javascript1.2"><!--
bmS=screen;bmQ+='&d'+(bmS.colorDepth?bmS.colorDepth:bmS.pixelDepth)+"&r"+bmS.width;
//--></script><script language="javascript"><!--
bmF = bmD.referrer.slice(7);
((bmI=bmF.indexOf('/'))!=-1)?(bmF=bmF.substring(0,bmI)):(bmI=bmF.length);
if(bmF!=window.location.href.substring(7,7+bmI))bmQ+='&f'+escape(bmD.referrer);
bmD.write(bmQ+" border=0 width=86 height=31 alt='bigmir TOP100'>");
//--></script></a>

   
 
 автор: Евгений Петров   (04.09.2005 в 00:28)   письмо автору
 
   для: Karum   (04.09.2005 в 00:22)
 

Я его и имел ввиду. Такой длинный код нужен чтобы определить те параметры которые невозможно определить средствами сценария. Например разрешение экрана, версия JavaScript и т.д. А в конечном итоге весь этот код превратится в что то вида:
<img src="bigmir.net?{и дальше куча параметров с информацией о машине и системе клиента}">

   
 
 автор: Karum   (04.09.2005 в 00:38)   письмо автору
 
   для: Евгений Петров   (04.09.2005 в 00:28)
 

То что, длинный код забирает все данные о пользователе понятно, мне не совсе понятно как они на сервер передаются!

   
 
 автор: Евгений Петров   (04.09.2005 в 00:59)   письмо автору
 
   для: Karum   (04.09.2005 в 00:38)
 

методом GET в строке параметров. Например нам надо передать число 12.сценарию index.php на хосте url.ru
Набираем в строке запроса
http://url.ru/index.php?id=12
И тогда в сценарии можно будет извлеч это число так $_GET['id']

   
 
 автор: cheops   (04.09.2005 в 13:10)   письмо автору
 
   для: Karum   (04.09.2005 в 00:38)
 

Вот строка, которая формирует GET-строку
bmS=screen;bmQ+='&d'+(bmS.colorDepth?bmS.colorDepth:bmS.pixelDepth)+"&r"+0bmS.width;

Но используется она судя по всему где-то ниже.

   
 
 автор: Karum   (04.09.2005 в 15:21)   письмо автору
 
   для: cheops   (04.09.2005 в 13:10)
 

Вроде дошло, буду пробывать... Спасибки

   
 
 автор: Karum   (04.09.2005 в 16:02)   письмо автору
 
   для: Karum   (04.09.2005 в 15:21)
 

Вот допустим такой код

<html>
<head>
</head>
<body>
<script>
var w=screen.width;
var h=screen.height;
document.write("Разрешение экрана ");
document.write(w+'x'+h);
adress='<img src=http://localhost/html/counter/result_counter.php?a=pashet' 
document.write(adress+"border=0 width=86 height=31 alt='bigmir TOP100'>");
</script>
</body>
</html>

...размер экрана сча не передаю..

И обработчик:
Типа result_counter.php на локальной машине
<?
$size=$_GET['a'];
echo "$size";
?>

Но тоже не работает и как через картинку то параметры передаются?

   
 
 автор: Евгений Петров   (04.09.2005 в 19:42)   письмо автору
 
   для: Karum   (04.09.2005 в 16:02)
 

Параметры передаются как в обычный скрипт а этот скрипт формирует изображение и выводит его в браузер.

   
 
 автор: Karum   (06.09.2005 в 16:33)   письмо автору
 
   для: Евгений Петров   (04.09.2005 в 19:42)
 

... непонятно! При переходе по ссылкам на сайте(где нет PHP)
Как оно забирает параметры на сервер

Ну хоть маленький пример...

   
 
 автор: cheops   (05.09.2005 в 02:25)   письмо автору
 
   для: Karum   (04.09.2005 в 16:02)
 

Хм... у вас pashet сливается с border - вы на этапе отладки alert всё выводите - чтобы визуально проконтролировать то, что формирует скрипт.

   
 
 автор: Karum   (06.09.2005 в 16:35)   письмо автору
 
   для: cheops   (05.09.2005 в 02:25)
 

... непонятно! При переходе по ссылкам на сайте(где нет PHP)
Как оно забирает параметры на сервер

Ну хоть маленький пример...

   
 
 автор: cheops   (07.09.2005 в 03:03)   письмо автору
 
   для: Karum   (06.09.2005 в 16:35)
 

Вы когда ссылку на изображение формируете
<img src=http://localhost/html/counter/result_counter.php?a=pashet

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

   
 
 автор: Karum   (09.09.2005 в 20:29)   письмо автору
 
   для: cheops   (07.09.2005 в 03:03)
 

<img src=http://localhost/html/counter/result_counter.php?a=pashet

А как с помощью ПХП сделать так, чтобы на этот запрос у пользователя выводило картинку

   
 
 автор: Евгений Петров   (09.09.2005 в 21:19)   письмо автору
 
   для: Karum   (09.09.2005 в 20:29)
 

В самом скрипте result_counter.php нужно сформировать изображение примерно так:
<?
  $image 
imageCreateFromGif("counter.gif");
  
$color imageColorAllocate($image,255,255,255);
  
imageString($image,1,65,6,$hits,$color);
  
imageString($image,1,65,16,$hosts,$color);
  
header("Content-type: image/gif");
  
imageGif($image);
  
imageDestroy($image);
?>

   
 
 автор: Karum   (10.09.2005 в 23:39)   письмо автору
 
   для: Евгений Петров   (09.09.2005 в 21:19)
 

Я понимаю как формировать изображение, я не понимаю как забрать параматры
из картинки

Вот напишите скрипт как забрать параметры(например разрешение экрана) из
картинки

<img src="http://domen.ru/result.php?a=1024&b=768" border=0>
какой пример скрипта будет ?

   
 
 автор: Евгений Петров   (11.09.2005 в 00:05)   письмо автору
 
   для: Karum   (10.09.2005 в 23:39)
 

Это же элементарно. Данные передаются методом get, а следовательно и извлекаются из массива get.
Вот например:
<?
  $a 
$_GET['a'];
  
$b $_GET['b'];
  
$image imageCreateFromGif("counter.gif");
  
$color imageColorAllocate($image,255,255,255);
  
imageString($image,1,65,6,$a,$color);
  
imageString($image,1,65,16,$b,$color);
  
header("Content-type: image/gif");
  
imageGif($image);
  
imageDestroy($image);
?>

Это листинг скрипта result.php этот скрипт выведет картинку с переменными a и b.

   
 
 автор: Karum   (11.09.2005 в 19:04)   письмо автору
 
   для: Евгений Петров   (11.09.2005 в 00:05)
 

Yahoo! Во наконец-то до меня дошло! Раньше не работало из-за ошибочки моей ;-)
В общем, всем спасибо!

   
Rambler's Top100
вверх

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