2011-02-02 6 views
5

Ok, forse il mio cervello è solo spento, ma non riesco a farlo funzionare.Variabili globali PHP tra file

Ecco il codice completo:

page1.php:

<?php 
    $something = "hello"; 
    include "Page2.php"; 
?> 

page2.php:

<?php 
    echo $something; 
?> 

uscita desiderata (durante la navigazione a page1.php):

hello 

Il vero out mettere è vuoto Ho provato a mettere la parola chiave globale ovunque, e non succede nulla. Mi sto perdendo qualcosa?

+0

globale è nel campo di applicazione del collegato/inclusi i file in esecuzione dalla pagina chiamata. Due pagine diverse chiamate in momenti separati non condividono le variabili. Se fosse così, per impostazione predefinita sarebbe un incubo. –

+0

* Le pagine non vengono chiamate in momenti separati * – riwalk

+0

Penso che significhi che sta "colpendo" Page1.php con il suo browser. – karim79

risposta

4

Non riesco a replicare questo errore, ho appena provato questo sul mio localhost e copiato e incollato il codice da qui. Ho il sospetto che tu abbia una sorta di errore di sintassi.

Attivare segnalazioni di errori e vedere se si verificano errori.

+2

Incredibile.Non avrei dovuto chiamarli page1 e page2. Avevo pagina 2 segnalibro per errore. +1 per essere 1 di solo 2 persone che effettivamente leggono il codice :) – riwalk

+1

Ehi, facciamo tutti degli errori. :) –

0

Ho avuto un problema simile in esecuzione su locale (Windows) in cui i valori di un array non seguivano l'inclusione all'interno dello stesso processo.

Dopo commutazione del percorso comprendono da http://localhost/www/example.php a C:/www/example.php, funziona bene ora.

1

So che questa è una risposta tardiva, ma sto cercando di fare qualcosa di simile. Prima di tutto, quando fai eco a qualcosa devi ancora metterlo in "". Php lo riconoscerà come variabile fintanto che metti $.

In secondo luogo, si include page2.php in page1. Fantastico, ma page2 non riconosce $ qualcosa. Ora, se lo fai nell'altro modo, dichiara $ qualcosa in page2 e poi lo chiama dalla pagina 1 dopo averlo incluso, verrà eseguito.

modificando la variabile richiederebbe qualcos'altro ...

+0

Sbagliato su entrambi i fronti. La variabile $ qualcosa è una stringa, e quindi non ha bisogno di ulteriori conversioni. Per quanto riguarda il tuo secondo punto, un semplice test dimostra che funziona: http://etc.caffeineoncode.com/Page1.php – riwalk

1

Penso che l'uscita è in arrivo page2.php. Ho ragione? questo perché stai facendo eco a una variabile non impostata in page2.php devi modificare i seguenti dati per farlo funzionare. page1.php

<?php 
include("page2.php"); 
echo $something; 
?> 

page2.php

<?php 
$something="Hello"; 
?> 

Se si intende utilizzare e navigare nella pagina 1.php allora l'uscita sarà Ciao