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_content div 中,删除之前的内容。

在第一次加载页面时一切正常,但是当再次请求“home.php”时(没有刷新 index.php),我收到 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 回答