2011-02-02 13 views
5

私の脳はただ止められているかもしれませんが、これを動作させることはできません。ファイル間のPHPグローバル変数

Page1.php:

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

Page2.php:

<?php 
    echo $something; 
?> 

所望の出力(Page1.phpに移動):

hello 

はここで完全なコードです

実数putは空白です。私はどこにでもグローバルキーワードを入れようとしましたが、何も起こりません。何か不足していますか?

+0

グローバルリンクの範囲内であります/インクルードされたページから実行中のファイル。別々の時間に呼び出される2つの異なるページは、変数を共有しません。そうであれば、デフォルトでは悪夢になるでしょう。 –

+0

*別々の時間にページが呼び出されない* – riwalk

+0

彼は彼が彼のブラウザでPage1.phpを「打っている」と思います。 – karim79

答えて

4

このエラーは複製できません。ローカルホストでこれを試して、ここからコードをコピーして貼り付けてください。私はある種の構文エラーがあると思う。

エラーレポートをオンにしてエラーが発生していないかどうかを確認します。

+2

素晴らしい。私はそれらをpage1とpage2という名前にすべきではありません。間違ってページ2をブックマークしました。 +1はコードを実際に読んだ唯一の2人の1人です:) – riwalk

+1

ねえ、私たちはすべて間違いを犯します。 :) –

0

同じプロセス内で、配列の値がインクルードを過ぎていないローカル(Windows)で同様の問題が発生しました。

C:/www/example.phphttp://localhost/www/example.phpからインクルードパスを切り替えた後、それが今で正常に動作します。

1

これは遅い答えですが、私は似たようなことをしようとしています。まず第一に、あなたが何かをエコーするとき、あなたはまだそれを ""に入れなければなりません。あなたが$を置く限り、PHPはそれを変数として認識します。

第2に、ページ1にpage2.phpを含めることになります。素晴らしいですが、page2は$ somethingを認識しません。さて、あなたはそれを他の方法でやって、page2に$何かを宣言してから、それを組み込んだ後にページ1から呼び出すと、それが実行されます。何か他のものを必要とする変数を変更

...

+0

両方のカウントで間違っています。変数$ somethingは文字列なので、追加の変換は必要ありません。あなたの2番目のポイントについては、簡単なテストが動作することを証明します:http://etc.caffeineoncode.com/Page1.php – riwalk

1

私は出力がpage2.phpに来ていると思います。私は正しい?これは、page2.phpに未設定の変数をエコーし​​ているため、以下のデータを変更する必要があります。あなたはそれを使用すると、ページ1.phpをナビゲートする場合は page1.php

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

page2.php

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

、出力は次のようになりますこんにちは

関連する問題