[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка на IP через сессии ( обратный отсчет )
CorePHP
Добрый день! В php я нубоват. Поэтому не ругайтесь. Изучаю сам по мануалам , точнее не изучаю , а просто пишу. Но тут возникла интересная проблема которую самостоятельно не смог решить.

Задача следующая пользователь отправляет пост запрос , нужно отсеить этот запрос, если он был произведен в течении часа повторно.

Какая кашка сейчас у меня прилагаю :

<?php

$xml = simplexml_load_file('guestbook.xml');

if(isset($_POST["user"]) &&
isset($_POST["message"]) &&
isset($_POST["email"]))
{
session_start();

if ($_SESSION["remote_ip"] == NULL)
{
$_SESSION["remote_ip"] = $_SERVER["REMOTE_ADDR"];
}
else
{
if ($_SESSION["remote_ip"] != $_SERVER["REMOTE_ADDR"])
{
unset($_SESSION["remote_ip"]);
session_destroy();
}
else
{
echo "denied";
exit();
}
}



$today = date("d.m.y");
$book = $xml->addChild('quote');
$book->addChild('date', $today);
$book->addChild('user', $_POST["user"]);
$book->addChild('email', $_POST["email"]);
$book->addChild('message', $_POST["message"]);

// save the file
$xml->asXML('guestbook.xml');

echo "1";
}
elseif (isset($_POST["show"]))
{

$count = $xml->count();
$first = $xml->quote[0]->date . "%%" . $xml->quote[0]->user . "%%" . $xml->quote[0]->message;

if ($count == 1)
{
echo $first;
}
else
{
$result = $first;
for ($i = 1; $i < $count; $i++)
{
$result .= "||" . $xml->quote[$i]->date . "%%" . $xml->quote[$i]->user . "%%" . $xml->quote[$i]->message;
}
echo $result;
}

}

else
{
echo "-1";
}
?>

Остается понять , как же сделать этот часовой таймер.
И да, данный скрипт будет валиться , после F5 страницы, поэтому нужно как то держать эту сессию. Предполагаю , что тут без крона не обойтись, но тут я вообще не в теме
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.