0

私はこのチュートリアルを見ます http://tutorialzine.com/2009/09/simple-ajax-website-jquery/ しかし、SQL、echo "";を含むphpファイルでこれを機能させる方法がわかりません。など誰かが説明できるなら、私はすべてを試してみて、何も表示されませんありがとう:)

var default_content = "";

$(document).ready(function () {

    checkURL();
    $('ul li a').click(function (e) {

        checkURL(this.hash);

    });

    //filling in the default content
    default_content = $('#pagesContent').html();


    setInterval("checkURL()", 250);

});

var lasturl = "";

function checkURL(hash) {
    if (!hash) hash = window.location.hash;

    if (hash != lasturl) {
        lasturl = hash;

        // FIX - if we've used the history buttons to return to the homepage,
        // fill the pageContent with the default_content

        if (hash == "")
            $('#pagesContent').html(default_content);

        else
            loadPage(hash);
    }
}


function loadPage(url) {
    url = url.replace('#page', '');

    $('#loading').css('visibility', 'visible');

    $.ajax({
        type: "POST",
        url: "load_page.php",
        data: 'page=' + url,
        dataType: "html",
        success: function (data) {
            if (parseInt(data) != 0) {
                $('#pagesContent').html(data);
                $('#loading').css('visibility', 'hidden');
            }
        }
    });

}

load_page.php

<?php
if(!$_POST['page']) die("0");
$page = (int)$_POST['page'];
if(file_exists('pages/page_'.$page.'.php'))
echo file_get_contents('pages/page_'.$page.'.php');
else echo 'There is no such page!';
?>

demo.html

< a href="#page1">Page1< /a>
< a href="#page2">Page2< /a>
< a href="#page3">Page3< /a>
< a href="#page4">Page4< /a>
<div id="pageContent">
   //loaded ajax page
</div>

このシナリオでは、link > index.html#page1 はファイル 'pages/page_1.php' をロードしますが、メインの index.html では php 構文ではなく html コードをロードできます。この場合、php コマンドを使用できますか?

4

1 に答える 1

0

ここでの問題は、チュートリアルの例では単に HTML ファイルを使用していることにあるようです。このため、file_get_contents()正常に動作します。ただし、ユーザーに提供する前にサーバーで PHP コードを解析する場合は、include()関数を使用する必要があります。

ドキュメントから

include ステートメントは、指定されたファイルをインクルードして評価します。

file_get_contents ()関数の動作は少し異なります:

file_get_contents— ファイル全体を文字列に読み込みます

ファイルの内容を読み取るだけで、PHPコードは評価/実行/解釈されません...

于 2013-01-29T17:21:55.247 に答える