0

私のスクリプトでは、変数に基づいて含めるページを選択します。

インクルードされたページは、メイン ページで定義された変数を受け取りますか? それとも、それらを再定義する必要がありますか?

もしそうなら、含まれているページに変数を渡す最良の方法は何ですか?

include("page.php?var=".$var) を試してみました

しかし、実際にはその文字列名のファイルを含めようとしているようです。

アドバイス?

4

6 に答える 6

0

定義する$var = 1と、その後include("page.php");、変数そのファイルでアクセス可能になります。これは、既に取得したものの拡張にすぎないためです。

于 2012-09-26T11:31:03.830 に答える
0

この ... "include("page.php?var=".$var)" は機能しません

代わりに、次のことを試してください。

page1.php

<?php

$dog_name = "scruff";

include("otherpage.php");

?>

otherpage.php

<?php

echo $dog_name;

?>

これは page1.php に出力されます:

scruff

ミッドナイトライトニングが言ったように、「最初のページですでにスコープ内にある変数は、2番目のページですでに定義されています。」

于 2012-09-26T11:33:11.043 に答える
0

インクルードページの前に変数を定義すると、クエリ文字列は必要ありません。変数は、含まれているページで名前だけでアクセスされます。例えば

$name = "Awais"
include("page.php");

次にpage.php

 echo $name; //will print Awais
于 2012-09-26T11:33:53.400 に答える
0

メインページで変数自体を設定することをお勧めします。HTTP GET リクエストではなく、ローカル ファイルincludeをインクルードしようとしますが、とにかく変数を設定するだけで使用できます。

于 2012-09-26T11:30:48.673 に答える
0

最初のページで既にスコープ内にある変数は、2 番目のページで既に定義されています。

于 2012-09-26T11:29:31.107 に答える
0

インクルードされたページは、メイン ページで定義された変数を受け取りますか?

はい、含めるコードは同じスコープ内にあります。これも文書化された動作です。 を参照してくださいinclude

$var = 'value';
include('page.php'); # has $var defined now.
unset($var);
include('page.php'); # has $var undefined now.

ご覧のとおり、再調整する必要はありません。

ただし、副作用があるため、それを分離したい場合があります。以下を参照してください。

于 2012-09-26T11:46:32.517 に答える