2012-09-12 25 views
0

我有一個難題,我們目前在我們的服務器上使用PHP,我是一名PHP程序員。我建立了一個連接到我們的PHP網站的網站,它完全是客戶端HTML 5和Javascript。我可以將HTML 5的變量傳遞給PHP,但我想將一些數據從PHP導入HTML頁面,例如會話...等。我怎樣才能在另一個頁面上將PHP會話傳遞給Javascript,或訪問會話數據以用於HTML 5和Javascript?PHP到HTML 5使用Javascript

這樣做的主要原因是對於帶寬較低的用戶以及HTML 5使用本地存儲和離線功能的用戶(如果他們的線路斷開連接,以便他們稍後可以將數據發佈到PHP頁面)。

幫助會很好嗎?

+1

要從PHP代碼中獲取數據,只需使用AJAX調用。要存儲會話,請使用cookie。 – akluth

+0

'json_encode'對於格式化ajax調用的php變量非常有用 –

回答

0

我希望我在這裏沒有完全錯誤,但是你基本上試圖做的是將數據從php寫入到javascript。您可以使用AJAX作爲akluth建議,但我認爲在javascript中執行以下操作更容易;

data = <?php echo $foo; ?>; 

但是,在將會話保存在localstorage中時應該小心,因爲它可以由客戶端修改。一旦用戶嘗試稍後發佈數據,可能會進行雙重檢查。有關詳細信息,請參見this SO answer

0

如果你想在PHP會話數據,可以使用以下段

<script>var $_SESSION = <?= json_encode($_SERVER) ?></script> 

如果在不同的頁面要保持一些數據,不需要服務器的數據,更好地使用HTML5的會話存儲[HTTP: //www.xul.fr/en/html5/sessionstorage.php]

這將降低服務器負載+數據傳輸和提高應用程序的速度

0

HTML5本地存儲不完全支持這樣一些事情,可以在任何地方工作都可以按照以下方式進行: 首先有你的PHP會話到JS變種:

<script type="text/javascript"> 
     var sessionData= <?php echo json_encode($_SESSION); ?> 
</script> 

然後,你將在以JSON格式sessionData可變會話數據。那麼如果你想在不同的地方使用它,那麼簡單地設置並通過Javascript將其提取到cookie中。

請告訴我有些事情還不清楚。