در ادامه مطلب همراه ما باشید
آموزش PHP –متغییرcookie
Cookie ها در php
Cookie چیست؟ cookie یک فایل کوچک است که سرور آن را درون کامپیوتر کاربر قرار می دهد. هر بار که همان کامپیوتر یک صفحه را از طریق مرورگرش درخواست می کند، سرور cookie را هم می فرستد. با php، شما می توانید هم مقادیر cookie را بسازید و هم بازیابی کنید.
توجه: یک cookie اغلب برای شناسایی یک کاربر استفاده می شود.
چگونه یک cookie ایجاد کنیم؟
تابع ()setcookie برای ایجاد cookie استفاده می شود.
نکته: تابع ()setcookie باید قبل از تگ <html> قرار گیرد.
نحوه استفاده:
setcookie(name, value, expire, path, domain); |
مثال:
در مثال زیر٫ یک cookie با نام “user” ایجاد می کنیم و مقدار “Ali Ahmadi” را به آن اختصاص می دهیم. ما همچنین مشخص می کنیم که cookie پس از یک ساعت از بین برود:
<?php <html> |
نکته: مقدار cookie به طور خودکار هنگام ارسال کد(URLencoding) می شود و موقع دریافت رمزگشایی می شود (برای پیشگیری از رمزگذاری٫ از ()setrawcookie استفاده کنید.
مثال:
شما می توانید زمان انقضای cookie را به روشی دیگر مشخص کنید، احتمالاً این راه ساده تر از مشخص کردن ثانیه هاست:
<?php <html> |
در مثال بالا زمان انقضا با مقدار “۱ ماه” پر شده است( ۶۰sec * 60 min * 24 hours * 30 days)
چگونه مقدار یک cookie را بازیابی کنیم؟
متغیر COOKIE_$ در php برای بازیابی مقدار یک cookie مورد استفاده قرار می گیرد.
مثال:
در مثال زیر٫ مقدار cookie با نام “user” را بازیابی می کنیم و بر روی صفحه، نمایش می دهیم:
<?php // A way to view all cookies |
در مثال زیر با استفاده از تابع ()isset چک می کنیم که cookie با نام “user” قبلاً set شده است یا نه؟
<html> <?php ?> </body> |
چگونه یک cookie را حذف کنیم؟
هنگامی که می خواهید یک cookie را حذف کنید باید اطمینان دهید که تاریخ انقضاء آن به پایان رسیده است.
مثال حذف:
<?php |
اگر یک مرورگر cookieها را پشتیبانی نکند چه باید کرد؟
اگر برنامه شما با مرورگرهایی سروکار دارد که cookieها را پشتیبانی نمی کنند، باید روشهای دیگری رابرای انتقال اطلاعات از یک صفحه به صفحه ی دیگر انتخاب کنید. یک روش انتقال اطلاعات از طریق فرم ها و متغییرهای از پیش تعریف شده است(فرم ها و متغییر های از پیش تعریف شده، قبل از این توضیح داده شده اند).
در فرم زیر وقتی که کاربر دکمه ی “submit” را کلیک می کند، ورودی های کاربر را به “welcome.php” می فرستد:
<html> <form action=”welcome.php” method=”post”> </body> |
بازیابی اطلاعات در صفحه “welcome.php” شبیه زیر خواهد بود:
<html> Welcome <?php echo $_POST[“name”]; ?>.<br /> </body> |