2016-04-28 17 views
-1

Ich bin ziemlich neu in PHP und ich würde gerne wissen, wie ich eine Variable von einer Datei zur anderen bekommen kann.PHP bekomme Variable aus einer anderen Datei

Zum Beispiel würde ich gerne eine Variable $email verwenden, die in einer Login.php Datei eingestellt ist und sie in einer Candidate.php Datei verwenden.

Das Problem ist, dass in der login.php Datei initialisieren ich diese $email Variable $_POST Daten, daher bezweifle ich, dass ich include() auf einer anderen Seite verwenden kann, um auf die Variable zugreifen.

Meine Frage ist, könnte ich include() verwenden meine Variablen auf einer anderen Seite als die, auf der sie erklärt werden; oder was ist ein effizienter Weg dies zu tun?

Vielen Dank im Voraus.

+1

Frage ist unklar. –

+1

^richtig verstanden. –

+0

Nun, Sie haben Antworten unten; Frag sie. Ich persönlich denke, die bisher gegebenen waren nur ein kleines bisschen zu schnell am Auslöser, wenn Sie mich fragen und ohne genau zu wissen, mit welchem ​​Tier (en) wir es hier zu tun haben. –

Antwort

2

Es gibt viele verschiedene Möglichkeiten, die Sie tun können Dies werde ich mit dir teilen.

BEINHALTEN

Sie können in der Tat include() es eine dritte Datei, aber ich empfehle nicht, dass alle Sitzungen sind viel einfacher. Aber das ist nützlich, wenn Sie auch eine Konfigurationsdatei benötigen.

oben auf login.php:

include('global.php'); 

Neue Datei: global.php

if (session_status() == PHP_SESSION_NONE) { 
     session_start(); 
    } //start sessions if it isn't already started. 
    if(isSet($_POST['email'])) { //Check if email variable is POSTED 
     $email = $_POST['email']; //Set session variable "Email" to the posted data. 
    } 

Oberseite candidate.php

include('global.php'); 

Sie wollen die globale einschließen Datei bevor alles, was $ email enthält, geschrieben wird. Die andere helle Seite dieser Methode ist, dass Sie Sitzungen nur einmal starten müssen (wenn Sie sie in der globalen Datei starten), denn wenn Sie sie auf anderen Seiten einfügen, erledigt sie sich selbst.


SESSIONS

Am Anfang jeder Seite, die Sie eine globale Variable zugreifen möchten, können Sie Sitzungen nutzen könnten.

oben login.php:

if (session_status() == PHP_SESSION_NONE) { 
    session_start(); 
} //start sessions if it isn't already started. 
if(isSet($_POST['email'])) { //Check if email variable is POSTED 
    $_SESSION['email'] = $_POST['email']; //Set session variable "Email" to the posted data. 
} 

auf Candidate.php:

if (session_status() == PHP_SESSION_NONE) { 
    session_start(); 
} //start sessions if it isn't already started. 
echo $_SESSION['email']; //You can call this variable on any page that has sessions started 

Hoffe, dass ich Ihnen geholfen!

+0

Gute Antwort, noch * "meine 2 Cent" *: Es ist am besten, auch zu überprüfen, ob die Sitzung für Candidate.php (oder alle Dateien mit Sitzungen) gesetzt/nicht leer ist, da dies falsche positive und/oder potentielle Fehler verursachen kann. –

+0

Ich werde das auch hinzufügen, wie ich es immer auf meinen eigenen Seiten mache, um diese nervige Notiz zu vermeiden. Vielen Dank. – GrumpyCrouton

+0

Gern geschehen. –

-1

Ihre Datenspeicher in der Sitzung in Variable für Sortierzeit erforderlich

+0

Dies ist keine Antwort. Bitte vermeiden Sie Vorschläge als Antwort. Verwenden Sie das Kommentarfeld. –

Verwandte Themen