私はこれに対する解決策を見つけるために一日を探しましたが、まだうまくいきません. というonline()
関数がありますclient.php
.
client.php で:
// db connection
include "base.php";
// check if availabe
$available = "false";
$check = mysql_query("SELECT available FROM users ");
while ($row=mysql_fetch_array($check)) {
if($row['available'] == "yes") {
$available = "true";
}
}
// get config
$fetch = mysql_query("SELECT * FROM config ");
$config = mysql_fetch_array($fetch);
// functions
function online() {
// globals
global $available,$config,$path;
// build box
if($available == "true") {
?>
<div id="online">
<?
} else {
?><div id="offline"> <?
}
echo 'client.php is included';
}
}
?>
client.php について:
最初にデータベース接続を確立し、次にユーザーが利用可能かどうかを確認し$available = "true";
ます。
$available = "false";
次にclient.php
、index.php
(ルートにある)に含めます。
index.php で:
$path = "dir/";
include $path . "includes/client.php";
これまでのところ、すべてがうまくいき、
問題は...
サブディレクトリの他のページでもこの関数を使用する必要があります。より具体的には、この関数を次の場所にある自分のワードプレス Web サイトに追加しようとしていますclient.php
。
include "../dir/includes/client.php";
そして、出力が得られるので、含まれていると確信していますが、ワードプレス(ルート/ wp)を開いたときにグローバル変数が機能せず、で定義されている$available = null
と予想される"false"
client.php
紛らわしいのは、wordpress ヘッダー内で $available をエコーすると値を取得できますが、内部client.php
でエコーすると再び null になるため、wordpress ヘッダーとclient.php
の両方をエコーすると、wordpress ページを開いたときに、私がヘッダーに含めたものを見ることができ、内部の他のものclient.php
はnullです。
どんな助けでも大歓迎です。