فوریه 21, 2019 Mostafa بدون دیدگاه

کوکی در PHP یک فایل بسیار کوچک است که سرور بر روی مرورگر کامپیوتر کاربر ایجاد می‌کند و اطلاعات کاربر را در هر بار ورود به آن سایت در اختیار سرور می‌گذارد. این اطلاعات می‌تواند شامل نام کاربری، رمز عبور و تنظیمانی که کاربر بر روی سایت برای خود ایجاد کرده‌اند باشد. برای ذخیره این اطلاعات معمولا از کاربر در این باره سوال پرسیده می‌شود که می‌خواهد اطلاعاتش را به خاطر سپرده شود یا خیر.

چگونه یک کوکی در PHP ایجاد کنید؟

ایجاد کردن یک کوکی در PHP بسیار ساده است، تنها کافی است از تابع ()setcookie استفاده کنید. اما باید این نکته مورد توجه قرار دهید که این تابع باید قبل از برچسب <html> قرار بگیرد.

نحوه نگارش کوکی:

setcookie(name, value, expire, path, domain);

در مثال زیر یک کوکی به نام ” user” ایجاد می‌کنیم و “Alex Porter” را به عنوان ارزش برایش در نظر می‌گیریم. همچنین برایش این ویژگی را در نظر می‌گیریم که این کوکی بعد از ۱ ساعت دیگر قابل استفاده نباشد.

<?php
setcookie("user", "Alex Porter", time()+3600);
?>
 
<html>

 

ارزش کوکی به صورت خودکار در URL ذخیره می‌شود و به صورت خودکار از بین می‌رود.

اطلاعات کوکی را می‌توان به نحو دیگری نیز غیر قابل استفاده کرد. در مثال زیر این روش را توضیح می‌دهیم. لازم به ذکر است که این روش ساده تر است و می‌توان ثانیه ها را نیز لحاظ کرد.

<?php
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
?>

 

زمان استفاده از این کوکی تنها برای یک ماه است، این زمان را به صورت ۶۰ ثانیه، ۶۰ دقیقه، ۲۴ ساعت، ۳۰ روز نمایش داده شده است.

بازیابی ارزش یک کوکی در PHP

برای بازیابی ارزش یک کوکی کافی است از متغیر cookie_$ استفاده کنید. در مثال زیر ارزش یک کوکی به نام “user” را بازیابی می‌کنیم و آن را بر روی صفحه نمایش می‎‌دهیم.

<?php
// Print a cookie
echo $_COOKIE["user"];
 
// A way to view all cookies
print_r($_COOKIE);
?>

 

در مثال زیر از تابع ()isset برای بررسی کوکی استفاده می‌شود. این که آیا برای این کاربر کوکی اعمال شده است یا خیر.

<html>
<body>
 
<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
  echo "Welcome guest!<br>";
?>
 
</body>
</html>

 

اگر در بالا کاربر قبلا عضو شده باشد با نام او به خوش آمد می‌گوید در غیر این صورت به عنوان مهمان سایت به او خوش آمد می‌گوید.

 پاک کردن یک کوکی در PHP

هنگامی که می‌خواهید یک کوکی را پاک نمایید باید اطمینان حاصل نمایید تا کوکی مورد نظر تاریخ استفاده اش به پایان رسیده باشد.

به مثال زیر دقت کنید:

<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

 

در این مثال کوکی تنها ۱ ساعت قابلیت استفاده دارد. اگر دقت کنید قبل از بیان زمان به جای علامت + از علامت – استفاده شده است و در این زمان کوکی پاک خواهد شد.

پشتیبانی مرورگر از کوکی

اگر برنامه شما جزو برنامه ‌هایی باشد که مرورگر کوکی را پشتیبانی نمی‌کند مجبور هستید از روش دیگری برای ذخیره کوکی استفاده کنید. در مبحث فرم ها به روش تصویب داده های فرم در PHP اشاره کردیم.

فرم زیر کاربر را در صورت کلیک بر روی دکمه submit به فایل “welcome.php” می‌فرستد.

<html>
<body>
 
<form action="welcome.php" method="post">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<input type="submit">
</form>
 
</body>
</html>

 

و برای بازیابی ارزش فایل “welcome.php” به صورت زیر عمل می‌کنیم:

<html>
<body>
 
Welcome <?php echo $_POST["name"]; ?>.<br>
You are <?php echo $_POST["age"]; ?> years old.
 
</body>
</html>

 

در این دستور ارزش  نوشته شده در فایل “welcome.php”  ذخیره می‌شود و برای بازیابی باید به این فایل رجوع کرد. و دیگر کوکی تعریف نمی‌شود.

 


برچسب ها
نظرات

توجه : لطفاً فقط نظرات خود را از این طریق ارسال نمایید و سوالات و مشکلات خود را در انجمن سایت مطرح نمایید.

دیدگاهتان را بنویسید

برای نوشتن دیدگاه باید وارد بشوید.