Пример: Используя сессии сделать такое задание: Добавить в сессию Имя и IP пользователя, подсчитать количество посещений страницы, если посещений будет больше 10, то заблокировать пользователя.
Текст программы:
<?php
echo "<p>Лабораторная работа № 10</p>";
echo "<p>© <b>Разработал студент КИТ-27а Дьяков Александр Владимирович.</b></p>
<p>Используя сессии сделать такое задание: Добавить в сессию Имя и IP пользователя, подсчитать количество посещений страницы, если посещений будет больше 10, то заблокировать пользователя.
<p>";
session_start();
$_SESSION['username'] = "maksim";
$_SESSION['ip'] = getip();
echo 'Привет, '.$_SESSION['username']."<br> Ваш IP: ".$_SESSION['ip'];
if($_COOKIE['views']){
$views = $_COOKIE['views'];
++$views;
if(!setcookie('views', $views,time()+60*60*24)){
echo "Включите у себя в браузере поддержку cookies";
}
if($_COOKIE['views'] < 10){
echo "<p>Вы посетили эту страницу <b>$views</b> раз";
$raznica = 10 - $views;
echo "<p>У Вас осталось <b>$raznica</b> раз";
}
}
else
{
$views = 1;
if(!setcookie('views', $views,time()+60*60*24)){
echo "Включите у себя в браузере поддержку cookies";
}
echo "<p>Вы посетили эту страницу <b>$views</b> раз";
}
if($_COOKIE['views'] > 10){
echo "<p>Вы исчерпали свой лимит вхождений";
}
?>
<?
function getip()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip = getenv("HTTP_CLIENT_IP");
elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
elseif (!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
?>
Результат работы: