[英]PHP Sessions Variables & Authentication
我有兩個頁面,我需要在兩個頁面之間傳遞會話信息。 這是第一頁。
<?php
session_start();
echo session_id()."<br>";
echo $_SESSION['test']."<br>";
第二頁。
<?php
session_start();
echo session_id()."<br>";
$_SESSION['test'] = 'test';
echo $_SESSION['test'];
第二頁位於不同的目錄(相同的域)中,並且啟用Windows身份驗證。 第一頁正在使用匿名身份驗證。 從輸出中可以看到會話ID是相同的,但是第一頁沒有回顯第二頁中的測試變量集。
我在Server 2012 R2的IIS 8.5中運行PHP。
任何幫助表示贊賞。
為了澄清,我先調用第二頁,而第一頁將不顯示該變量。
您需要先使用值初始化變量,然后再使用它。
First run page2.php so, that value of $_SESSION['test'] is set to test
using $_SESSION['test'] = 'test';
Now, run page1.php there you can see the value of $_SESSION['test']
using echo $_SESSION['test']."<br>";
您還可以按照以下步驟以簡單的方式使用會話,從而不必一次又一次地使用session_start()
1. config.php having session_start();
2. page1 having include_once('config.php');
echo session_id()."<br>";
echo $_SESSION['test']."<br>";
3. page2.php having include_once('config.php');
echo session_id()."<br>";
$_SESSION['test'] = 'test';
echo $_SESSION['test'];
嘗試在第一頁中關閉會話,調用第二頁時,您的會話文件可能仍處於打開狀態,因此您看不到數據。 嘗試將session_write_close()添加到所調用的第一頁。
問題出在會話保存路徑上。 我將路徑更改為兩個目錄都可以寫入且可以正常工作的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.