کش کردن متغییر آی پی در Yii
با سلام اساتید محترم
چطوری میشه توی فریمورک yii مقدار ip رو کش کرد؟
یعنی یه ip رو برای تموم کاربران تا چند ساعت کش کنیم که فقط این آپی نشون داده بشه؟
آیا راهی هست؟
خیلی ممنون میشم راهنمایی کنید بهش نیاز دارم
با تشکر
پاسخ : کش کردن متغییر آی پی در Yii
کد PHP:
//set
Yii::$app->cache->set ( $key, $value, 60 * 60); //1h
//get
Yii::$app->cache->get( $key) ;
پارامتر سوم به ثانیه هست مدت زمان ذخیره کش هست .
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
rezaonline.net
کد PHP:
//set
Yii::$app->cache->set ( $key, $value, 60 * 60); //1h
//get
Yii::$app->cache->get( $key) ;
پارامتر سوم به ثانیه هست مدت زمان ذخیره کش هست .
سلام
از لطف و محبت شما خیلی ممنونم
من اگه متغیر آی پی:
کد HTML:
$userIp = 5.200.14.17
باشه چطوری باید توی کدهای شما واردش کنم و بعدا چطوری اونو با echo فراخوانی کنم؟
چون تازه کارم رو با yii شروع کردم
خیلی ازتون ممنون و سپاسگزارم
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
Marshall
سلام
از لطف و محبت شما خیلی ممنونم
من اگه متغیر آی پی:
کد HTML:
$userIp = 5.200.14.17
باشه چطوری باید توی کدهای شما واردش کنم و بعدا چطوری اونو با echo فراخوانی کنم؟
چون تازه کارم رو با yii شروع کردم
خیلی ازتون ممنون و سپاسگزارم
value برای ست کردنهر مقداری هست حالا میتونید همه رو اینجا ذخیره کنید یا دونه دونه براش کلید مختلف بسازید
یک چیزی هست مثل کوکی شما آی پی اول رو کش میکنید و بد از اون تا هر زمانی آی پی اول رو درنظر میگیرید
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
starting
value برای ست کردنهر مقداری هست حالا میتونید همه رو اینجا ذخیره کنید یا دونه دونه براش کلید مختلف بسازید
یک چیزی هست مثل کوکی شما آی پی اول رو کش میکنید و بد از اون تا هر زمانی آی پی اول رو درنظر میگیرید
با سلام
ببخشید میشه با مقدار آی پی که دادم تابع رو برام درست کنید و بعد هم مقدار رو فراخوانی کنم!
خیلی ممنون می شم
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
Marshall
با سلام
ببخشید میشه با مقدار آی پی که دادم تابع رو برام درست کنید و بعد هم مقدار رو فراخوانی کنم!
خیلی ممنون می شم
کد PHP:
$userIp = 5.200.14.17;
Yii::$app->cache->set ( 'user_ip', $userip, 60 * 60);
پاسخ : کش کردن متغییر آی پی در Yii
خیلی ممنون از محبت شما دوست عزیز
یعنی اینطوری همه ی کاربران همین آپی رو برای مدت یکساعت می بیند؟
الان من نمی تونم echo کنم ببینم ip واقعا برای همه این است؟
مثلا این آی پی کاربران است که متغیر هستند!
من می خوام آی پی یکی از کاربران تا زمان بخصوصی cache بشه و همه ی کاربران بجای اینکه ip خودشون رو ببیند ip ی که کش شده رو ببیند و باز هم بعد از یک ساعت دیگه یه آی دیگه کش بشه و این روند ادامه داشته باشه
من به echo هم نیاز دارم که تابعش رو فراخوانی کنم!
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
Marshall
خیلی ممنون از محبت شما دوست عزیز
یعنی اینطوری همه ی کاربران همین آپی رو برای مدت یکساعت می بیند؟
الان من نمی تونم echo کنم ببینم ip واقعا برای همه این است؟
مثلا این آی پی کاربران است که متغیر هستند!
من می خوام آی پی یکی از کاربران تا زمان بخصوصی cache بشه و همه ی کاربران بجای اینکه ip خودشون رو ببیند ip ی که کش شده رو ببیند و باز هم بعد از یک ساعت دیگه یه آی دیگه کش بشه و این روند ادامه داشته باشه
من به echo هم نیاز دارم که تابعش رو فراخوانی کنم!
درود
ببینید وقتی یکی سوال میپرسه از یک فریمورک بنا بر این میزاریم ایشون php بلد هست و گیر اون بخش خاص فریمورک هست
بهرحال
کد PHP:
Yii::$app->cache->set ( 'user_ip', Yii::$app->getRequest()->getUserIP(), 60 * 60);
$ip_az_cache=Yii::$app->cache->get( 'user_ip') ;
// hala $ip_az_cache har ja khasti cho kon ya mostaghim Yii::$app->cache->get( 'user_ip') ; echo kon
//ama dorostesh ine chek koni bebini baraye in user ip cache dari (kamtar az zaman masalan 1 saat) agar nabood az ip jadidd echo koni
if (Yii::$app->cache->get( 'user_ip')){
echo Yii::$app->cache->get( 'user_ip');
}else{
echo Yii::$app->getRequest()->getUserIP();
}
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
starting
درود
ببینید وقتی یکی سوال میپرسه از یک فریمورک بنا بر این میزاریم ایشون php بلد هست و گیر اون بخش خاص فریمورک هست
بهرحال
کد PHP:
Yii::$app->cache->set ( 'user_ip', Yii::$app->getRequest()->getUserIP(), 60 * 60);
$ip_az_cache=Yii::$app->cache->get( 'user_ip') ;
// hala $ip_az_cache har ja khasti cho kon ya mostaghim Yii::$app->cache->get( 'user_ip') ; echo kon
//ama dorostesh ine chek koni bebini baraye in user ip cache dari (kamtar az zaman masalan 1 saat) agar nabood az ip jadidd echo koni
if (Yii::$app->cache->get( 'user_ip')){
echo Yii::$app->cache->get( 'user_ip');
}else{
echo Yii::$app->getRequest()->getUserIP();
}
از لطف و محبت شما بسیار ممنون و سپاسگزارم
ببخشید شما رو هم به زحمت انداختم
ببخشید این رو هم می تونید جواب بدید؟
من با این توضیحات و کدهای شما کد زیر رو نوشتم:
کد PHP:
<?php Yii::$app->cache->set( 'in_page', $_SERVER['HPPT_REFERER'], 60 * 60);
$inpage_cache=Yii::$app->cache->get( 'in_page') ;
?>
<?php echo $inpage; ?>
انتظار داشتم کاربران وقتی از این صفحه به اون صفحه سایت که میرن فقط زیر تموم صفحات $_SERVER['HPPT_REFERER'] ذخیره شده را ببیند ولی با هر بار صفحه عوض کردن آدرس اینم عوض میشه!
خیلی ممنون میشم اینم جواب بدید
بخاطر کمکتون هم خیلی ازتون ممنون و سپاسگزارم
پاسخ : کش کردن متغییر آی پی در Yii
نقل قول:
نوشته اصلی توسط
marshall
از لطف و محبت شما بسیار ممنون و سپاسگزارم
ببخشید شما رو هم به زحمت انداختم
ببخشید این رو هم می تونید جواب بدید؟
من با این توضیحات و کدهای شما کد زیر رو نوشتم:
کد PHP:
<?php yii::$app->cache->set( 'in_page', $_server['hppt_referer'], 60 * 60);
$inpage_cache=yii::$app->cache->get( 'in_page') ;
?>
<?php echo $inpage; ?>
انتظار داشتم کاربران وقتی از این صفحه به اون صفحه سایت که میرن فقط زیر تموم صفحات $_server['hppt_referer'] ذخیره شده را ببیند ولی با هر بار صفحه عوض کردن آدرس اینم عوض میشه!
خیلی ممنون میشم اینم جواب بدید
بخاطر کمکتون هم خیلی ازتون ممنون و سپاسگزارم
شما باید از ایندکس
کد PHP:
$_server['remote_addr']
استفاده کنید رفر برای آدرس ارجاع هست نه آی پی کاربر
- - - Updated - - -
البته اگر منظورتون اینه میخواید رفر اولی ثبت بشه اینم باید کش کنید بهمون شکل آی پی
البته نیاید باز همون کدها رو بنویسید بهتره بزاریدش در یک آرایه و کل آرایه رو کش کنید یا برای استفاده کامل کل هدر رو تبدیل کنید به یک جیسون و کل جیسون رو کش کنید و اگر سختتون هست خب مجدد کدها رو بزارید و بازنویسی کنید برای رفرال (گرچه اصولی نیست اما خب ...)