2016-04-11 4 views
0

Zur Zeit habe ich eine Website mit mehreren Web-Seiten, die die gleiche Header mit Informationen wie Benutzernamen enthalten, User Profile Pic usw.Ways „Header“ der Website-Optimierung der Versand per Post anfordern nur einmal

Jetzt Ich möchte den Benutzernamen und das Benutzerprofil Pic anzeigen, nachdem sie sich erfolgreich angemeldet haben. Daher muss ich PHP verwenden, um die Benutzerinformationen vom Server abzurufen. Wenn ich bedenke, dass ich mehrere Webseiten habe, frage ich mich, ob es eine Möglichkeit gibt, die Information nicht jedes Mal, wenn der Benutzer eine neue Seite eingibt, sondern nur einmal vom Server zu bekommen und irgendwo im Browser zu speichern Benutze es danach? Ich habe folgende Möglichkeiten:

  1. Übergeben Sie die Benutzerdaten durch die Parameter in der URL, aber es ist definitiv unsicher.
  2. Verwenden Sie LocalStorage oder SessionStorage, aber es ist in einigen älteren Browsern nicht kompatibel.
  3. Speichern Sie es im Cookie, aber es wird nicht effizient sein, wenn es viele Daten enthält, wie das Profilbild des Benutzers.
+0

Sobald ein Benutzer eingeloggt ist, können Sie Name, Bildname usw. in '$ _SESSION' speichern (das ist eine Abfrage pro erfolgreicher Benutzeranmeldung), und wenn Sie eine Option zum Aktualisieren dieser Details angeben , können Sie bei erfolgreicher Bearbeitung ändern, dafür sind Sitzungen vorgesehen. – Viral

+0

Speichern Sie die Informationen nicht mit dem Benutzer (über Cookies usw.), da der Benutzer diese Informationen dann ändern und so tun kann, als wäre er ein anderer Benutzer – Basic

Antwort

0

Als Viral in den Kommentaren angegeben hat, könnte man $_SESSION PHP verwenden, die Daten über Web-Seiten bestehen bleiben wird vorausgesetzt, Sie die Sitzung auf jeder Web-Seite mit session_start() starten.

Eine Beispielimplementierung davon könnte wie folgt sein;

<?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 

Ich würde vorschlagen, Sitzungen zu verwenden, da sie in fast allen Browsern unterstützt werden, die Cookies unterstützen.

Verwandte Themen