2016-04-11 35 views
0

目前,我有多個網頁,其中包含的信息相同的標題,如用戶名,用戶用戶照片等方式只有一次

現在網站我想在成功登錄後顯示用戶名和用戶配置文件圖片。因此,我必須使用PHP從服務器檢索用戶信息。考慮到我有多個網頁,我想知道是否有一種方法,而不是每次用戶進入新頁面時都檢索信息,我是否可以從服務器獲取一次信息並將其存儲在瀏覽器的某處之後使用它?我正在考慮使用以下方法:

  1. 通過URL中的參數傳遞用戶數據,但它絕對不安全。
  2. 使用LocalStorage或SessionStorage,但它在某些較舊的瀏覽器中不兼容。
  3. 將其存儲在Cookie中,但如果它包含大量數據(如用戶的個人資料圖片),則效率將會不高。
+0

一旦用戶登錄後,您可以在'$ _SESSION'中存儲名稱,圖像名稱等(這將成爲每次成功用戶登錄時的一個查詢),並且您可以選擇更新這些詳細信息,您可以在成功編輯時進行更改,這就是會話的用途。 – Viral

+0

不要與用戶存儲信息(通過cookie等),因爲用戶可以更改該信息並僞裝成任何其他用戶 – Basic

回答

0

由於病毒在評論中指出的那樣,你可以利用PHP的$_SESSION這將持續整個網頁上的數據提供給您使用session_start()在每個網頁上啓動會話。

這可能的示例實現如下;

<?php 
session_start(); 

if(!isset($_SESSION['userdata']){ 
    //Get user data and store it within the session eg. $_SESSION['usedata'] = array('name' => 'Scott'); 

    //This will allow you to get the user data if it has not already been retrieved. 
} 

// Use the data however you would need to 

我會建議使用會話,因爲幾乎所有支持cookie的瀏覽器都支持會話。