2024/5(May)/15
چهارشنبه، ۲۶ ارديبهشت ۱۴۰۳

دسترسی به داده های موقت در تمام صفحات (فایلهای php)

دسترسی به داده های موقت در تمام صفحات (فایلهای php) PHP`s Access data in php files
دسترسی به داده های موقت در تمام صفحات (فایلهای php)
انواع داده ی استاتیک: int, float, number, boolean, string
داده ها را (در کدها برای جلوگیری از تکرار و ...) میتوان در متغیرها و ثابت ها، بصورت موقت، نگهداری کرد. (مقدارِ متغیرها پس از ایجادِ آنها، قابل تغییر است اما مقدارِ ثابت ها را نمیتوان تغییر داد)
متغیرها و ثابت ها، فقط در یک فایلِ php درخواست شده، ایجاد میشوند و پس از اتمامِ کارِ فایلِ php (اجرای خط به خطِ دستوراتِ فایلِ php)، از بین میروند؛ به همین علت، باید داده های مورد نیاز را به فایلِ مورد نظر ارسال کنیم، یا داده های مورد نظر را در سِشِن ها (session) یا کوکی ها (cookie)، نگهداری کنیم. (محل ذخیره و دسترسی به سِشِن ها، روی SERVER می باشد اما محل ذخیره و دسترسی به کوکی ها، در مرورگرِ کاربر می باشد)
ایجاد و استفاده از سِشِن (session) در php:
با دستورِ زیر، یک متغیرِ سِشِنی با نام دلخواه و داده ای از نوعِ string (رشته ای از کاراکترها) با مقدارِ value، ایجاد میشود:
$_SESSION["نامِ دلخواه برای متغیرِ سِشِن"] = "value";
در خط زیر، دستورِ چاپِ مقدارِ متغیر با نام موردنظر از نوع سِشِن، آورده شده است:
echo $_SESSION["نامِ متغیرِ سِشِنِ موردنظر"];
در خط زیر، دستورِ چک کردنِ خالی بودنِ مقدارِ متغیر با نام موردنظر از نوع سِشِن، آورده شده است:
if( $_SESSION["نامِ متغیرِ سِشِنِ موردنظر"]=="" ){ دستوراتی که میخواهیم در صورت درست بودنِ شرط، اجرا شوند }
ایجاد و استفاده از کوکی (cookieدر php:
با دستورِ زیر، یک متغیر با نام دلخواه و داده ای از نوعِ string (رشته ای از کاراکترها) با مقدارِ value، ایجاد میشود. (انقضای متغیر در خط زیر، یک ساعت در نظر گرفته شده است):
setcookie("نامِ دلخواه برای متغیرِ کوکی", "value" , time()+3600 );
در خط زیر، دستورِ چاپِ مقدارِ متغیر با نام موردنظر از نوع کوکی، آورده شده است:
echo $_COOKIE["نامِ متغیرِ کوکیِ موردنظر"];
در خط زیر، دستورِ چک کردنِ خالی بودنِ مقدارِ متغیر با نام موردنظر از نوع کوکی، آورده شده است:
if($_COOKIE["نامِ متغیرِ کوکیِ موردنظر"]==""){  دستوراتی که میخواهیم در صورت درست بودنِ شرط، اجرا شوند }
 
 
شیوه های ارسال داده یا داده ها به یک فایلِ php:
 
1- ارسال داده ها با استفاده از روشِ get (ارسال داده یا داده ها توسط پارامترها):
میتوان از تگِ form بعنوان مجموعه ی داده ها (داده ها را در تگهای input ، textarea و select در یک تگِ form قرار میدهند) برای ارسال داده ها استفاده کرد اما این داده ها در آدرس بارِ صفحه ی مقصد (url)، قابل مشاهده می باشد. (صفحه ی مقصد یک فایلِ php می باشد)
مثال:
<form method="get" action="php file url">
    <input type="hidden" name="id" value="3" />
    <input type="hidden" name="code" value="152438" />
    <input type="submit" value="Send" />
</form>
البته میتوان بدونِ تگِ form (و تگهای زیرمجموعه ی آن) نیز از این روش استفاده کرد. به عنوان مثال، یک لینک به شکلِ زیر میتوانیم ایجاد کنیم:
<a href="user_orders_details.php?id=3&code=152438">متنِ لینک</a>
در خطِ بالا در آدرسِ صفحه ی مقصد (فایلِ php مورد نظر)، id و code، نامِ پارامترهای ارسالی هستند و مقدارهای 3 و 152438، داده های پارامترهای ارسالی هستند.
 
یا اینکه توسطِ php، صفحه ی دیگری را به همین شیوه به سمتِ کاربر برای مشاهده ارسال کرد. مانند کدِ php زیر:
header("Location: user_orders_details.php?id=3&code=152438");
البته در صفحه ی مقصد (فایلِ php مورد نظر) در شیوه ی get، باید برای دریافت داده یا داده ها (توسطِ پارامترها) از دستورِ زیر استفاده کرد:
$_GET["نامِ پارامترِ ارسال شده"]
 
2- ارسال داده ها با استفاده از روشِ post (ارسال داده یا داده ها توسط پارامترهای مخفی بصورت امنیتی):
نیاز به تگِ form بعنوان مجموعه ی داده ها (داده ها را در تگهای input ، textarea و select در یک تگِ form قرار میدهند) دارد. (البته میتوان با جاوااسکریپت بدون تگهای فرم و اینپوت نیز، داده های مختلفی را به شیوه ی post ، ارسال کرد)
مثال:
<form method="post" action="php file url">
    <input type="hidden" name="id" value="3" />
    <input type="hidden" name="code" value="152438" />
    <input type="submit" value="Send" />
</form>
نکته مهم) php نمیتواند داده یا داده هایی را به یک فایلِ پی اچ پیِ دیگر با دستوراتِ خودش، به شیوه ی post ، ارسال کند، چون ارسال فقط توسطِ کلاینت ها (مرورگر کاربر) انجام میشود نه SERVERها. (اما php میتواند با روشِ get، با دستوراتِ خودش، داده ها را به یک فایل php ارسال کند، چون پارامترها و دادها به آدرسِ صفحه میتوانند اضافه شوند و قابل مشاهده هستند)
البته در صفحه ی مقصد (فایلِ php مورد نظر) در شیوه ی post، باید برای دریافت داده یا داده ها (توسطِ پارامترها) از دستورِ زیر استفاده کرد:
 
$_POST["نامِ پارامترِ ارسال شده"]