PDA

View Full Version : سوال: نمایش لایت باکس تنها یکبار بر اساس ip



alfabeta
یک شنبه 28 تیر 1394, 09:39 صبح
با سلام
دوستان کسی میدونه چطوری میتونم در وب سایت یک لایت باکس رو فقط یکبار برای هر شخصی که وارد وب سایت میشه نمایش بدم
یعنی بر اساس ip هر فرد فقط یکبار بتونه اونو ببینه نه بیشتر

Master_Power
یک شنبه 28 تیر 1394, 10:12 صبح
شما بیاید با کد زیر آدرس IP شخص را تو یه چدول بریزید و با دستور شرطی به لایت باکس بگید که تنها first time show لایت باکس با ip طرف نمایش داده بشه

$ip=$_SERVER['REMOTE_ADDR'];

arenaw
دوشنبه 29 تیر 1394, 10:43 صبح
میتونید از کوکی استفاده کنید که دیگه دردسر نگه داشتن و مقایسه کردن آی‌پی ها سمت سرور رو نداشته باشید.

if( !isset( $_COOKIE['firsttime'] ) ){
/* do stuff... */
setcookie('firsttime');
}


این کد رو اگه داخل صفحه قرار بدین، بررسی میکنه که آیا کوکی‌ای به اسم firsttime مقدار گرفته یا نه؟
اگر نگرفته بود، در نظر میگیره که کاربر دفعه اولشه که میاد توی این سایت + اینکه این کوکی رو با استفاده از تابع set_cookie (http://php.net/manual/en/function.setcookie.php) برای این کاربر مقداردهی میکنه که دیگه از دفعه بعد، این قسمت از کد اجرا نشه.
پس شما میتونید کاری که قصد انجامش فقط برای یک بار رو دارین، به جای بخش do stuff توی این کد قرار بدین.