重複の可能性:
PHP関数 の未定義の変数の問題
PHPインクルードファイルで未定義の変数エラーメッセージが表示され続ける理由を誰かに教えてもらえますか?
<?php
$page = 1;
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
}
function phpRocks() {
require("includes/dostuff.php");
}
if ($search) {
phpRocks();
}
?>
次に、dostuff.phpで:
<?php echo $page; ?>
これは私が得ているエラーです:
通知:未定義の変数:ページイン /dostuff.php オンライン 61
有権者/クローズリクエスターに注意を向ける:調査努力を示していませんか?どうして?他に何を追加する必要がありますか?私はこれに30分困惑していて、この質問に答える他の投稿を見つけることができません。質問を投稿するには、PHPエキスパートである必要があります(したがって、質問は投稿しません!)??
マリオはそれを持っています。これを行う:
function phpRocks() {
global $page;
require("includes/dostuff.php");
}
関数内にファイルを含めています。したがって、含まれているすべてのコードのスコープは関数のスコープです。変数$page
は関数内に存在しません。それを渡します:
function phpRocks($page) {
require "includes/dostuff.php";
}
phpRocks($page);
そのような関数にグローバル変数を追加します
function phpRocks() {
global $page;
require("includes/dostuff.php");
}
次のように、変数をグローバルに宣言する必要があります。
function phpRocks() {
global $page; //set variable to global
require("includes/dostuff.php");
}