PDA

View Full Version : cookie



zohreh.hn
شنبه 16 فروردین 1393, 19:35 عصر
سلام به دوستان امیدوارم سال خوبی داشته باشید

یک سوال دارم ابتدا یک فیلد در دیتا بیس قرار دادم و گفتم که اگه مقدار این فیلد 1 بود به مدت مثلا 60 ثانیه شکل مورد نظر را نشان بده و بعد از اینکه زمان تمام شد اون شکل مورد نظر را دیگر نشان نده
من تا یه حدی انجام دادم ولی نمی دونم بقیه اش را چطور بنویسم



$new = mysql_result($result,$i,'new'); if($new==1) { $is="<img src='Images/new.png' width='52' height='51' />"; setcookie("picnew","$is",time()+15); echo $_COOKIE['picnew']; } else { $is=""; } echo " <div id='result'> <div id='pic'> <div id='new'>$is</div>...

آیا کد من برای اونچه که می خوام انجام بده درست هست یا نه ؟؟
لطفا راهنمایی بفرمایید ممنون میشم

Golsha
شنبه 16 فروردین 1393, 20:50 عصر
سلام ، آیا فکر کردید که اگه یه نفر کوکی های مرورگرشو غیر فعال کنه ، دیگه کد شما بدردش نمیخوره ، فکر کنم خیلی ها این کار رو انجام میدن ( یعنی کوکی هاشونو غیر فعال میکنن )

Golsha
شنبه 16 فروردین 1393, 21:00 عصر
به نظر رو کد زیر کار کنی بهتره :


$endTime = Time + 60;
while($diff!=0)
{
$diff = $endTime - Time;
$is = "<img src="..." width="51" height="51">";
}
$is = '';

zohreh.hn
شنبه 16 فروردین 1393, 21:19 عصر
سلام نه فکر نکرده بودم ولی بعد از اینکه سوالمو نوشتم متنی رو خوندم که همین رو میگفت

refugee
شنبه 16 فروردین 1393, 21:33 عصر
همه که کوکی ها رو غیر فعال نمیکنند .

کوکی ها گاهی خوبه و مورد نیاز است . توصیه میکنم فعال کنید .

در مورد سوال شمام خانم نمیدونم :خجالت:

***BiDaK***
شنبه 16 فروردین 1393, 22:30 عصر
میتونید از session استفاده کنید:
session_start();

$now = time();
if (!isset($_SESSION['time']))
{
$_SESSION['time'] = $now + 60;
}
if ($_SESSION['time'] < $now)
{
echo 'dont show...';
}
else
{
echo "show...";
}
البته حتما میدونید که سشن با بستن مرورگر از بین میره و اگر دوباره توسط کاربر باز شد و شرایطی که شما تعیین میکنید درست بود بازم تصویر نمایش داده میشه.
صفحه اگر رفرش بشه و 60 ثانیه گذشته باشه دیگه عکس شما نمایش داده نمیشه.
کنار این کار میتونید همزمان از جاوااسکریپت هم استفاده کنید.شاید صفحه 1 ساعت باز بود و رفرش صورت نگرفت و اگر شما میخواین بازهم سر 60 ثانیه تصویر نشون داده نشه اینکارو هم میتونید کنید:
مثلا تصویر شما داخل یک دیو با آیدی "myPic" قرار داره:
<div id="myPic"><img src="example.jpg"></div>

<script>
d = Date.now();
t = d + 60000;
function f()
{
time = Date.now();
if (t < time)
{
document.getElementById('myPic').remove();
}
}
window.onload = setInterval(f, 1000);
</script>
به اون شکلی که مد نظرتون هست کد رو تغییر بدید.
نکته اینکه جاوااسکریپت هم میتونه غیر فعال بشه.