مهدی اسدی

مهدی اسدی

دانشگاه شهید باهنر کرمان در تاریخ ۲۰ ابان  میزبان همایش نرم افزارهای آزاد و  جشن انتشار سیستم عامل ابونتو ۱۶٫۱۰ می باشد شرکت در همایش رایگان و شرکت کنندگان می توانند از سخنرانی بزرگانی چون جادی میرمیرانی و دانیال بهزادی استفاده کنند و در کارگاههای جانبی همایش نیز شرکت نمایند 

برای ثبت نام به سایت روبرو مراجعه کنید     :    https://events.ubuntu.ir/1610

تحویل پروژه درس طراحی صفحات وب کارشناسی بعلت تقاضای دانشجویان به تاریخ 94/11/8ساعت 15 تغییر پیدا کرد .

دانشجویانی که اسامی آنها در زیر آمده است در تاریخ 1394/11/6 ساعت 10 جهت ارائه پروژه درس برنامه نویسی  مبتنی بر وب کاردانی در دانشگاه حضور یابند  :
• ابوالفضل ایوبی
• فاطمه پاریزی منش
• خاطره حسن زاده
• هانیه خزایی
• مریم خیرخواه
• ریحانه روشن
• اکرم سعید پاریزی
• زهرا عبدالله حمیدی
• مهدیه علیرمضانی
• مهشید علیزاده
• محمد قدیری زاده
• سمیرا محمدی امیس
• علیرضا محیاپور
• فاطمه نخعی
• حمید یوسفی
• مسعود فاتحی

سه شنبه, 01 دی 1394 ساعت 05:24

کوکی ها در php با یک مثال کاربردی

کوکي : بسته‌اي از اطلاعات است که توسط سرور وب سايت مورد نظر يا جاري به مرورگرهاي اينترنتي فرستاده مي‌شود و در صورت لزوم نيز از مرورگرهاي کاربران به سرور باز مي‌گردد. ايجاد کنندگان وب‌گاه‌ها کوکي‌ها را مي سازند تا امکان دسترسي بهتر به سايتشان را فراهم کند
اين کوکي ها حاوي اطلاعاتي است که  معمولا راجع به شناسه کاربري ، رمز عبور ، تنظيمات يک کاربر بر روي سايت و ... مي باشد .
زماني که کاربر به وسيله کامپيوتر خود همان سايت را باز مي کند ، مرورگر اطلاعات کوکي ها را به سرور ارسال مي کند . از کوکي براي بازيابي اطلاعات کاربري و يا ساير تنظيماتي که کاربر در يک سايت ايجاد کرده است ، در مراجعات بعدي به همان سايت استفاده مي شود
براي مثال فرض کنيد که در يک سايت فروم عضو شده و يک رمز عبور و شناسه کاربري را براي خود تعيين کرده ايد . هنگامي که براي اولين بار اطلاعات کاربري خود را در مرورگر وارد مي کنيد ، اين اطلاعات در يک کوکي بر روي مرورگر کامپيوتر شما ذخيره مي شود . هنگامي که در مراجعه بعدي به همان سايت مي رويد ، متوجه مي شويد که مرورگر اطلاعات کاربري شما را وارد نموده و شما log in شده ايد ، بدون اينکه خودتان کاري انجام داده باشيد . در واقع مرورگر از کوکي براي ايجاد ، ذخيره و ارسال مجدد اين اطلاعات به سرور استفاده کرده است .
از تابع ( ) setcookie براي ايجاد و ذخيره يک کوکي در زبان PHP استفاده مي شود
شکل کلي تعريف و ايجاد يک کوکي به وسيله تابع  ()setcookie در PHP به صورت زير است :
;(setcookie ( name , value , expire , path , domain  

• پارامتر name تعيين کننده نام کوکي است . از اين نام براي بازيابي و فراخواني کوکي در سطح برنامه استفاده مي شود .
• پارامتر value مقدار کوکي را تعيين مي کند .اين مقدار بر روي کامپيوتر ذخيره مي شود .
• پارامتر expire تعيين کننده مدت زمان اعتبار کوکي ، بر حسب ثانيه است . پس از اتمام اين مدت زمان ، کوکي از بين خواهد رفت .
• پارامتر path تعيين کننده مسيري بر روي سرور سايت است که کوکي در آن ، قابل دريافت و ذخيره است .
• پارامتر domain ، دامنه اي که کوکي بر روي آن قابل دسترس است را تعيين مي کند .

حال به مثالي که در کلاس کار کرديم مي پردازيم :
مي خواهيم سايتي ايجاد کنيم که کاربر بتواند رنگ پس زمينه سايت را بدلخواه انتخاب کرده و در بازديدهاي بعدي به همان رنگ درآيد ، خب براي اين کار از يک فرم استفاده کرده رنگ را از فرم گرفته و از طريق تابع  setcookie در مرورگر کاربر دخيره مي نماييم  

form.html:

 
 <form action="main.php" method="post">
   <input name="color" type="radio" value="red" /> red 
   <input name="color" type="radio" value="blue" /> blue
   <input name="color" type="radio" value="green" /> green 
   <input type="submit" value="set color" />
 </form>
 

خب همانطور که از کد پيداست اين فرم از سه دکمه راديويي تشکيل شده که که کاربر فقط مي تواند از بين سه رنگ قرمز وآبي و سبز يکي را انتخاب نمايد مي توانيم بجاي دکمه راديويي از عنصر فرم با نوع رنگ (html5)استفاده کنيم تا انتخابهاي رنگ بيشتري داشته باشيم 

 

 
  <form action="main.php" method="post">
  <input name="color" type="color" />
  <input type="submit" value="تنظیم رنگ">
  </form>
 

در صفحه زير ابتدا بررسي مي کند که آيا کوکي رنگ بر روي مرورگر کاربر موجود است يا خير اگر موجود است رنگ را از کوکي مرورگر ميگيرد در غير اينصورت اگر از طرف فرم رنگ لود شده باشد رنگ را از طريق متغير فوق سراسري پست گرفته و در يک کوکي به همين نام ذخيره مي کند زمان انقضاي کوکي در اين مثال 10 دقيقه اعلام شده نکته: تابع time زمان فعلي را به ثانيه در اختيار ما مي گذارد
main.php :

 
  <head>
    <meta charset="utf-8">
  </head>
 <?php
 $color = "white";
 if (!empty($_COOKIE["color"]))
  $color = $_COOKIE["color"];
 else
 if(!empty($_POST["color"])) {
     $color = $_POST["color"];
     setcookie("color", $_POST["color"], time() + 10 * 60);
  }
 else
    include("color.html");
 ?>
 <body bgcolor="<?php echo $color ?>">
مثالي از کوکي ها 
 <a href="deletecookie.php" >
   رنگ پس زمينه را عوض کن
 </a>
 </body>
 

براي عوض کردن رنگ پس زمينه کافي است بر روي لينک کليک کنيم تا کوکي منقضي شود و دوباره فرم انتخاب رنگ لود شود
deletecookie.php :

 
 <?php
 setcookie("color","",time()-10*60);
 header("location: main.php");
 ?>
 
در نگارش اين اين مقاله از ويکي پديا و developer.ir کمک گرفته شده است
صفحه1 از2