Изтриване на бан след като изтече

emptyy

Registered
Здравеите, Бихте ли ми помогнали, да се изтрива автоматично след като изтече бана.

add_ban
PHP:
$ban_created = time();

Ето и mysql
[sql]CREATE TABLE IF NOT EXISTS `banned_ip` (
`id` int(100) NOT NULL auto_increment,
`ip` text,
`ban_created` int(11) default NULL,
`ban_length` int(11) default NULL,
`ban_reason` text NOT NULL,
PRIMARY KEY (`id`)
);[/sql]

Благодаря за помоща!
 
PHP:
<form action="" method="POST">
IP Адрес: <input type="text" name="ip"><br />
Причина: <input type="text" name="reason"><br />
Време: <input type="text" name="bantime"><br />
<input class="buttona" type="submit" name="submit" value="Банни!">
</form>
<?php
mysql_query("SET NAMES UTF8");
if(isset($_POST['submit'])){
$ip = htmlspecialchars(trim($_POST['ip']));
$bantime = $_POST['bantime'];
$ban_created = time();
if($_POST['reason'] == NULL){
$reason = "<font color='green'><b>Няма такава причина!</b></font>";
}else{
$reason = htmlspecialchars(trim(strip_tags($_POST['reason'])));
}
$check = mysql_query("SELECT ip FROM `banned_ip` WHERE ip='".addslashes($ip)."'") or die (mysql_error());
$num = mysql_num_rows($check);
if($num>0){
echo "<font color='green'><b>IP Адрес </font><font color='red'>".$ip."</font><font color='green'> вече съществува в базата данни!</b></font>";
}else if($ip==NULL){
echo "<font color='red'><b>Моля въвеведете IP Адрес!</b></font>";
}else{
$sql = "INSERT INTO `banned_ip` (`ip`,`ban_created`,`ban_length`,`ban_reason`) VALUES('".addslashes($ip)."', '$ban_created', '$ban_length', '".addslashes($ban_reason)."')";
$rn = mysql_query($sql) or die (mysql_error());
echo "<u>Вие успешно баннахте IP:</u><font color='red'><b> ".$ip."</b></font><META http-equiv='REFRESH' content='1; url=viewbans.php'>";
}
}
?>
 
$sq = time();
mysql_query("DELETE FROM banned_ip WHER `ban_length` < '$sq'");

тва го слагаш в страницата си .. или в конфиг файла на сайта .. :)
 
joTunkiq нещо не се получава.
тествам го на localhost и се баннвам 127.0.0.1 и като се опитам да вляза във сайта, ми изписва че съм баннат.
 
emptyy каза:
joTunkiq нещо не се получава.
тествам го на localhost и се баннвам 127.0.0.1 и като се опитам да вляза във сайта, ми изписва че съм баннат.
Просто е забравил едно "E":
PHP:
mysql_query("DELETE FROM banned_ip WHERE `ban_length` < '".time()."'");
Hегова си е точката
 
Ами в случай, че банна е изтекъл, но никой не е влезнал в сайта в продължение на 1 ден? Не е ли по - добре да се направи с крон - така точно след (примерно) 5мин. ще се изпраща заявка за проверка дали има изтекли банове и ще се премахват. Мисля, че е по - добрия вариант от колкото да "лежиш" на това някой да влезне в сайта и тогава да се извършат проверките. :)))
 

Back
Горе