
28.04.2007, 20:22
|
|
Участник форума
Регистрация: 03.05.2006
Сообщений: 167
Провел на форуме: 125505
Репутация:
116
|
|
Делать нефиг, вот написал... Если даж код не правильный (не тестил), смысл понять должен:
PHP код:
<?php
// Redirect script
mysql_pconnect('localhost', 'root', '');
mysql_select_db('mydb');
if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) {
// Определяем текущее время
$time = time();
// Определяем запрошенный URL
$url = trim($_SERVER['QUERY_STRING']);
// Определяем IP адресс
if (isset($_SERVER['HTTP_X_REAL_IP']) && $_SERVER['HTTP_X_REAL_IP'] != 'unkown') {
$ip = trim($_SERVER['HTTP_X_REAL_IP']);
} else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != 'unkown') {
$ip = trim($_SERVER['HTTP_X_FORWARDED_FOR']);
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
// Ищем строку с данным URL, где IP равен IP текущего юзера
$query = "SELECT * FROM `redirect` WHERE `url`='$url' AND `ip`='$ip'";
$reqult = mysql_query($query);
if ($data = mysql_fetch_object($result) && ($time - $data->time) > 86400) {
// Если такая строка есть и прошло 24 часа с момента последнего посещения
// Увелчиваем счетчик посещений на 1 и записываем текущее время
$count = $data->count + 1;
$query = "UPDATE `redirect` SET `time`='$time', `count`='$count' WHERE `url`='$url' AND `ip`='$ip'";
} else {
// Если такой строки нет
// Записываем такую строку
$query = "INSERT INTO `redirect` (`time`, `ip`, `count`, `url`) VALUES ('$time', '$ip', '1', '$url')";
}
mysql_query($query);
header('Location: ' . $url);
}
?>
Последний раз редактировалось Developer; 28.04.2007 в 20:25..
|
|
|