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.

È stato utile?

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";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top