PDA

View Full Version : چک کردن ip ;hvfv fvh



payamka
شنبه 19 دی 1388, 09:53 صبح
سلام
من ميخوام يه سيستم شبيه به امتياز دادن بسازم که هر کاربر که از روي آي پي مشخص ميشه در هر 12 ساعت فقط بتونه يک بار راي بده.
يه جدول هست که توي اون دو تا فيلد ip و timelabel وجود داره که آي پي کاربر و برچسب زمان راي دادن که از طريق تابع time() در php توليد ميشه نگهداري ميشه. يه جدول ديگه هم هست که title و point و id داره که چيزهايي که بهشون راي داده ميشه اونجا نگهداري ميشن.
حالا فرض کنيد يه صفحه ي xyz.php داريم که هر کاربر که بخواد امتياز بده اين صفحه براش به صورت xyz.php?id=1 باز ميشه و id همون کليد شناسايي رکورديه که امتياز ميگيره.
حالا بايد چک بشه اگه اي آپي که الان مي خواد راي بده قبلا راي داده يا نه اگه راي داده آيا از 12 ساعت بيشتر بوده يا کمتر يا اگه راي نداده يک امتياز به point اضافه ميشه و بعد از اين هم به صفحه ي index.php ريدارکت بشه.
ببخشيد که طولاني شد.اگه ميشه کدشو بذاريد.
باتشکر

snail22
دوشنبه 21 دی 1388, 09:45 صبح
اول از همه بایدتو جدول اولی فیلد id را اضافه کنید

با این اطلاعات شما تقریبا کدش این میشه




$id = @$_REQUEST['id'];

$res = mysql_query("SELECT * FROM `visitors` WHERE `id`='$id',`ip`='$ip'");

$data = mysql_fetch_array(
mysql_query("SELECT * FROM `base` WHERE `id`='$id'")
);

$np = (int)$data['point'] ++;

if($res)
{
$res = mysql_fetch_array($res);

$t = (int)$res['time'];

if((time()-$t) >= 43200)
{
mysql_query("DELETE FROM `visitors` WHERE `id`='$id',`ip`='$ip'");

mysql_query("UPDATE `base` SET `point`='$np' WHERE `id`='$id'");
}
}
else
{
mysql_query("UPDATE `base` SET `point`='$np' WHERE `id`='$id'");
}