1

私の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();
}
4

1 に答える 1

0

あなたがする必要があるのはこのようなものです:

このスニペットを取り、別のファイルに入れます。includes.php

// Require every .php file inside "phpClasses" folder
foreach (glob("phpScripts/*.php") as $filename) {
  require $filename;
}

次に、index.phpから削除し、includes.php以下を含むすべてのナビゲーションページに追加します。home.php

于 2012-10-25T20:39:18.133 に答える