私のindex.phpファイルでは、最初にいくつかのファイルが必要であり、php。を使用してデータベースに接続します。
<?php
// Require every .php file inside "phpClasses" folder
foreach (glob("phpScripts/*.php") as $filename) {
require $filename;
}
// Create the $db object
$db = Database::obtain(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
// Connect to the database
$db->connect();
// Instantiate the "language" and "databaseQuery" classes
$lang = new language();
$dbQuery = new databaseQuery();
// Detect if the laguage has changed from the user and apply the new "current language"
if(isset($_GET["change_lang"])) {
$change_lang = $_GET["change_lang"];
$cur_lang = $change_lang;
} else {
$cur_lang = $lang->getCurLang();
}
?>
同じファイルに、データベースのコンテンツを表示するための「home.php」ファイルを含めます。
<div id="cur_content" class="temp_content" data-tempPos="0">
<?php
include 'pages/home.php';
?>
</div> <!-- #cur_content -->
'home.php'ファイルで、$ dbQueryクラスを再作成し、次のようにgetText()関数を呼び出します。
<?php
$dbQuery = new databaseQuery();
?>
<div id="content_home" class="cur_content_inner">
<?php
$text_pos = 'home_inner_1';
$dbQuery->getText($text_pos, $cur_lang);
?>
</div>
'index.php'は更新されずに残り、ユーザーはajax呼び出しを介してナビゲートします。新しいコンテンツが#cur_contentdiv内に読み込まれ、前のコンテンツが削除されます。
ページの最初のロードではすべて正常に機能しますが、「home.php」が再度要求されると(index.phpを更新せずに)、最初の「require」が発生していないため、phpエラーが発生します。
ajax呼び出しの後で、これらのファイルを再度要求するにはどうすればよいですか?
申し訳ありませんが、私はこれに不慣れです!;)すべての助けに感謝します!
問題は解決しました-> http://codeigniter.com/forums/viewthread/59450/
私はこれを使用しました:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']=="XMLHttpRequest") {
foreach (glob("phpScripts/*.php") as $filename) {
require_once $filename;
}
// Create the $db object
$db = Database::obtain(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);
// Connect to the database
$db->connect();
}