ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کار با Session در PHP



CodeBox
October 12th, 2019, 13:28
https://redup.ir/img.php?image=0606_php_session_lcmp.png (https://redup.ir/)


عملکرد یک Session توسط تابع session_start() شروع می شود. متغیرهای session درون متغیر سراسری $_SESSION نگهداری می شوند.
برای درک بهتر، بیایید یک مثال عملی را با ایجاد یک صفحه جدید PHP به نام “demo_session1.php” بررسی کنیم. در این صفحه ما یک session جدید را ایجاد کرده و مقدار تعدادی متغیر را برای آن تنظیم می کنیم، به صورت کد زیر :




<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>
</body>
</html>


*توجه داشته باشید که تابع session_start() بایستی در بالای صفحه و قبل از هر تگ HTML ای تعریف شود.*
در مرحله بعدی، یک صفحه PHP دیگر به نام “demo_session2.php” را ایجاد خواهیم کرد. در این صفحه جدید، به اطلاعات Session ای که در صفحه قبل (“demo_session1.php”) ایجاد کردیم، دسترسی خواهیم داشت.
توجه داشته باشید که متغیرهای Session به صورت جداگانه به صفحه جدید ارسال نمی شوند. بلکه آن ها به یک باره توسط تابع session_start() ای که در آغاز هر صفحه قرار داده ایم، خوانده می شوند.
همچنین توجه داشته باشید که تمامی متغیرهای session variables درون متغیر سراسری $_SESSION نگهدارای می شوند.
کد زیر، اطلاعات صفحه دوم طراحی شده (demo_session2.php) را نشان می دهد :


<?php

session_start();

?>

<!DOCTYPE html>

<html>

<body>

<?php

// Echo session variables that were set on previous page

echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

?>

</body>

</html>




برای تغییر مقدار متغیر یک Session، کافی است آن را همانند کد زیر رو نویسی یا overwrite کنید :



<?php

session_start();

?>

<!DOCTYPE html>

<html>

<body>

>?php

// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";

print_r($_SESSION);
?>

</body>

</html>




برای از بین بردن و پاک کردن کلیه Session ها و متغیر های global session variables بر روی سیستم، همانند کد زیر از تابع های session_unset() و session_destroy() استفاده کنید :



<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
</body>
</html>