Come lavorare con Session e Includi dichiarazione in PHP?
Domanda
Sto avendo molti file con multple include uno nell'altro come qui di seguito,
File1
è incluso nel File2
e poi File2
è sotto File3
Ora voglio dichiarare una variabile di sessione site_user_conutry
da File1 e poi sto controllando il File2 che se non v'è alcun valore nella variabile di sessione poi Solo io includo File1.php
Ho aggiunto session_start();
in ogni [età, ma ancora la sua non funziona ??
Ti prego, dimmi come posso fare il lavoro di sessione nella condizione di cui sopra.
Soluzione
Come stai impostando la variabile di sessione? Si dovrebbe provare a impostare in questo modo:
$_SESSION['site_user_conutry'] = 'United-Kingdom';
Hai messo session_start () in cima del documento, o almeno prima uscita qualsiasi informazione?
Altri suggerimenti
In File2
if ($_SESSION["site_user_country"] != null)
{
include_once(File3);
}
Fare session_start in prime righe di codice solo una volta.
Documentazione dice: A partire dalla versione 4.4.3, chiamando session_start () mentre la sessione è già stata avviata si tradurrà in un errore di livello di E_NOTICE. Inoltre, la seconda partenza sessione sarà semplicemente essere ignorato .
Se file1 è incluso nel file2 che il codice da file2 è fatto prima di file1. Quindi, se si dichiara qualcosa in file1 non può essere visto in file2 (dipende dal codice ...), in ogni caso non è moderno modo di programmazione php pf. (Vedi oo e __autoload)
Supponendo che si sta includendo i file che hanno l'esecuzione di codice, non funzioni.
Il codice che include File1 e imposta le variabili di sessione devono essere eseguiti prima che il codice sul File2 sulla prima iterazione.
Nei prossimi iteractions la sessione contenere i valori per voi.
Per impostare una variabile di sessione di utilizzare l'array globale $ _SESSION.
$_SESSION["name"] = "value";