🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ hamid abdi
()session_id
جامعه برنامه نویسی وب ایجاد شده در ۱۸ آبان ۱۴۰۲

سلام ..

()session_id  چیست؟

چکاری انجام میده ، تو یک مثال کارکردشو بگید ممنون میشم ؛

کامنت اولم یکم بهم ریخته شد توی این کامنت دوم اصلاح میکنم:


با کمک ()session_id میتونیم یک کلید یا آیدی مخصوص برای اون کاربر ایجاد کنیم. به عنوان مثال میتونیم از ()session_id تو صفحه لاگین استفاده کنیم و با کدی که مینویسیم میتونیم زمانی که کاربر داره فرم لاگین رو پر میکنه براش یه کلید یا آیدی مخصوص تولید کنیم و از اون کلید برای احراز هویت کاربر استفاده کنیم یه جورایی کاربردش تو امن‌تر کردن هم میتونه باشه. تو مثال زیر ما دوتا صفحه تو سایتمون داریم، مثالا یکی صفحه لاگین یکی هم صفحه پروفایل کاربر تو صفحه لاگین با استفاده از ()session_id آیدی رو میسازیم و بعد میتونیم با کمک شرط‌ها اونو تو صحفه‌هات مختلف چک کنیم. مثلا تو صفحه پروفایل چک کنیم که آیا این آیدی برابر با اون آیدی که تو صفحه لاگین تولید شده هست یا نه.

session_page1.php

<?php
   if(isset($_POST['SubmitButton'])){ 
      //Starting the session	
      $id = session_create_id();	
      session_id($id);
      print("\n"."Id: ".$id);
      session_start();  
      $_SESSION['name'] = $_POST['name'];
      $_SESSION['age']  = $_POST['age'];	  
      session_commit();
   }
?>
<html>
   <body>
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
         <label for="fname">Enter the values click Submit and click on Next</label>
         <br><br><label for="fname">Name:</label>
         <input type="text" id="name" name="name"><br><br>
         <label for="lname">Age:</label>
         <input type="text" id="age" name="age"><br><br>           
         <input type="submit" name="SubmitButton"/>
         <?php 
            echo '<br><br /><a href="session_page2.php">Next</a>';
         ?>
      </form>
   </body>
</html>

با این کد خروجی زیر تولید میکنیم:

Screenshot-1402-08-18-at-18-Eslc.png

بعد از اینکه ورودی‌هارو پر میکنیم و روی دکمه Submit کلیک میکنیم کلید یا همون session_id تولید میشه:

Screenshot-1402-08-18-at-18-Uo4I.png

حالا روی لینک Next کلیک میکنیم تا هدایت شیم به صفحه دوم:
session_page2.php

<html>
<head>
<title>Second Page</title>
</head>
<body>
<?php
//Session started
session_start();
print("Values from the session with id: ".session_id());
echo "<br>";
print($_SESSION['name']);
echo "<br>";
print($_SESSION['age']);
?>
</body>
</html>

این مواردی هست که میتونیم با دیتایی که از صفحه اول منتقل کردیم به این صفحه مشاهده کنیم:

Values from the session with id: 66mcanrlvqv1g83s00l99a1677
Mahdi
28
mahdi bayat ۱۸ آبان ۱۴۰۲، ۱۴:۵۸