Задача следующая пользователь отправляет пост запрос , нужно отсеить этот запрос, если он был произведен в течении часа повторно.
Какая кашка сейчас у меня прилагаю :
<?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 страницы, поэтому нужно как то держать эту сессию. Предполагаю , что тут без крона не обойтись, но тут я вообще не в теме