Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции.rtf
Скачиваний:
115
Добавлен:
15.06.2014
Размер:
24.67 Mб
Скачать

Ip char(30) not null,

host char(85) NOT NULL,

timeOfVisit datetime NOT NULL);

В поле browser хранится информация, непосредственно относящаяся к браузеру посетителя. Она берется из переменной РНР с именем $HTTP_USER_AGENT. В поле ip хранится IP-адрес посетителя. В поле host хранится информация о провайдере, от которого поступил IP-адрес. Наконец, поле timeOfVisit содержит дату и время посещения сайта.

Полноценное приложение для ведения журнала посещений имеется на сайте ресурсов РНР phpinfo.net

Затем создаётся инициализационный файл приложения init.inc, содержащий определения глобальных переменных и основных функций.

Инициализационный файл приложения (init.inc)

<?

// Файл: init.inc Назначение: инициализационный файл журнала посещений сайта

// Параметры соединения с сервером MySQL

$host = "localhost";

$user = "root";

$pswd = "";

// Имя базы данных

$database = "myTracker";

// Имя таблицы

$visitors_table = "visitors":

@mysql_pconnect($host, $user, $pswd) or die("Couldn't connect to MySQL server!");

// Выбрать базу данных

@mysql_select_db($database) or die("Couldn't select $database database!");

// Максимальное количество посещений, отображаемое в таблице

$maxNumVisitors = "5";

// Имя cookie

$cookieName = "visitorlog";

// Значение cookie

$cookieValue="1";

// Срок, который должен пройти с момента последнего посещения сайта,

// чтобы информация о текущем посещении была сохранена в базе данных.

// Если переменная $timeLimit равна 0. сохраняются все посещения независимо от их частоты.

// Остальные целочисленные значения интерпретируются как интервал

// времени в секундах.

$timeLimit = 3600:

// Формат отображения данных в браузере

$header_color = "#cbda74";

$table_color = "#000080";

$row_color = "IcOcOcO";

$font_color = "#000000":

$font_face = "Arial. Times New Roman. Verdana";

$font_size = "-1";

function recordUser() {

GLOBAL $visitors_table, $HTTP_USER_AGENT, $REMOTE_AODR, $REMOTE_HOST;

if ($REMOTE_HOST == "") :

$REMOTE_HOST = "localhost";

endif;

$timestamp = date("Y-m-d H:i:S");

$query = "INSERT INTO $visitors_table VALUES('$HTTP_USER_AGENT', '$REMOTE_ADDR', '$REMOTE_HOST', '$timestamp')";

$result = @mysql_query($query);

}

// recordUser

function viewStats() {

GLOBAL $visitors_table, $maxNumVisitors, $table_color, $header_color;

GLOBAL $row color. $font color, $font face, $font size:

$query = "SELECT browser, ip. host. TimeofVisit FROM $visitors_table ORDER BY TimeofVisit desc LIMIT 0, $maxNumVisitors";

$result = mysql_query($query);

print "<table cellpadding=\"2\" cellspacing=\"1\" width = \"700\" border = \"0\" bgcolor=\ " $table_color\ ">";

print "<tr bgcolor= \"$header_color\"><th>Browser</th><th>IP</th><th>Host</ th><th>TimeofVisit</th></tr>";

while($row = mysql_fetch_array($result));

list ($browse_type, $browse_version) = browser_info ($row["browser"]);

$op_sys = opsys_info ($row["browser"]);

print "<tr bgcolor=\"$row_color\">";

print "<td><font color=\"$font_color\" face=\"$font_face\" size=\"$font_size\">$browse_type $browse_version = $op_sys</font></td>";

print "<td><font color=\"$font_color\" face=\"$font_face\" si ze=\"$font_size\">".$row["ip"]."</f ont></td>";

print "<td><font color=\"$font_color\" face=\"$font_face\" size=\"$font_size\">".$row["host"]."</font></td>";

print "<td><font color=\"$font_color\" face=\"$font_face\" size=\"$font_size\">";

print $row["TimeofVisit"]."</font></td>";

print "</tr>";

endwhile;

print "</table>"; }

// viewStats

?>

Фрагмент кода, приведенный ниже, проверяет существование cookie и при необходимости вызывает функцию recordUser( ). Фрагмент приводится в составе очень простого индексного файла index.php.

Проверка существования cookie (index.php)

<?

Соседние файлы в предмете Программирование для Web