2011-09-20 54 views
0

我試圖避免iFrames上的網站的開發。我試過很多示例代碼,但似乎沒有任何工作。 如果你可以告訴我究竟在哪裏以及如何把代碼我將不勝感激:)如何使用PHP Query Strings動態加載內容?

在此先感謝。

PS:一切正常,我正在工作的服務器。

<div id="menuWork"> 
      <h1>Web:</h1> 
       <ul> 

      <!--links to dynamic content --> 

        <li><a href=">&#62;REN</a></li> 
        <li><a href="" id="" >&#62;Vasco Gaspar</a></li> 
        <li><a href="">&#62;GF Guitars</a></li> 
       </ul> 

      <h1>App's:</h1> 
       <ul> 
        <li><a href="">&#62;DesignerTools</a></li> 
        <li><a href="">&#62;Artec21</a></li> 
       </ul> 

      <h1>Print:</h1> 
       <ul> 
        <li><a href="">&#62;Self-Promoting Poster</a></li> 
        <li><a href="">&#62;Another Day Will Come</a></li> 
        <li><a href="">&#62;Qiasmo</a></li> 
        <li><a href="">&#62;Logo</a></li> 

       </ul> 

      <h1>Other:</h1> 
       <ul> 
        <li><a href="">&#62;Chapéu é o nome (video)</a></li> 
        <li><a href="">&#62;Papá Wrestling <br />(video-Special FX)</a></li>      
      </div><!-- #menuWork --> 





     <div id="content"> 

     <!-- Content Area where dynamic content would appear --> 



     </div> 
+0

你試過了哪些代碼?你得到了哪些錯誤? –

+0

http://scriptbrasil.com.br/forum/index.php?showtopic=89161 – vascogaspar

+0

和其他很多看起來差不多的其他人 – vascogaspar

回答

0

使用Ajax,使用Ajax,Web應用程序可以將數據發送到,和檢索,異步服務器(後臺)數據

+0

與這種方法相比,它是SEO的最佳選擇嗎? – vascogaspar

+0

是的..如果你在說SEO的搜索引擎給不同的查詢字符串與不同的查詢字符串與相同的網址爲例如.. http://example.com?q=query1 http://example.com ?q = query2 有不同的排名.....認爲該網站是相同的 –

+0

我可以做什麼,如果我想從其他網頁鏈接到此頁面上使用AJAX的特定鏈接? – vascogaspar

0

<li><a href="<?php echo "/?page=designer-tools" ?>">&#62;DesignerTools</a></li>

也許這樣的事情?你的問題非常模糊。

1

您需要使用AJAX來實現。您創建一個PHP腳本來創建內容,並在點擊的項目上添加一個JavaScript操作。 您爲每個鏈接添加一個id屬性和創建像(這裏使用jQuery AJAX)一個js函數:

$('#link1').click(function() { 
$.ajax({ 
url: "generate_content1.php", 
success: function(data){ 
    $('#content').html(data); 
    } 
}); 
}); 
+0

我已經將它安裝在ajax中,但問題是URL不會更改。它在SEO方面困擾我。知道解決方案? – vascogaspar

+0

如果你想在不重新加載頁面的情況下更改URL,請嘗試查看[this thread](http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page) –

1

最簡單的方法是一樣的東西是什麼一個用戶評論你的問題。根據查詢字符串值使服務器包含特定的文件。這些包含文件將包含您的內容,每次單擊鏈接時,整個頁面都將隨動態內容一起刷新。例如:

<?php 
    $page = $_REQUEST['p']; 
    $valid_pages = array('first-page-name', 'second-page-name', 'third-page-name', '...etc.'); 
    switch ($page) { 
     case 'first-page-name': 
      $title = "First Page Name"; 
      break; 
     case 'second-page-name': 
      $title = "Second Page Name"; 
      break; 
     case 'third-page-name': 
      $title = "Third Page Name"; 
      break; 
     default: 
      $title = "Some Default Title For Your Site"; 
    } 
?><!DOCTYPE html> 
<html> 
    <head> 
     <title><?php echo $title; ?></title> 
    </head> 
    <body> 
     <div id="menuWork"> 
     <h1>Web:</h1> 
      <ul> 

     <!--links to dynamic content --> 

       <li><a href="?p=first-page-name">&#62;REN</a></li> 
       <li><a href="?p=second-page-name">&#62;Vasco Gaspar</a></li> 
       <li><a href="?p=third-page-name">&#62;GF Guitars</a></li> 
      </ul> 

     <h1>App's:</h1> 
      <ul> 
       <li><a href="">&#62;DesignerTools</a></li> 
       <li><a href="">&#62;Artec21</a></li> 
      </ul> 

     <h1>Print:</h1> 
      <ul> 
       <li><a href="">&#62;Self-Promoting Poster</a></li> 
       <li><a href="">&#62;Another Day Will Come</a></li> 
       <li><a href="">&#62;Qiasmo</a></li> 
       <li><a href="">&#62;Logo</a></li> 

      </ul> 

     <h1>Other:</h1> 
      <ul> 
       <li><a href="">&#62;Chapéu é o nome (video)</a></li> 
       <li><a href="">&#62;Papá Wrestling <br />(video-Special FX)</a></li>      
     </div><!-- #menuWork --> 

     <div id="content"> 
<?php if (in_array($page, $valid_pages)) { 
      include('pages/' . $page . '.php'); 
     } else { ?> 
      <h2>Page not found</h2> 
      <p>The page you requested was not found on this server.</p> 
<?php } ?> 
     </div> 
    </body> 
</html> 

那麼你將你放在每一頁的內容在您的網站匹配在URL通過p=<your_filename_here>傳遞的字符串的/網頁/文件夾中的文件。 (例如:'first-page-name'將加載/pages/first-page-name.php)我已經包含一個允許的文件名數組,以防止攻擊者包含任意文件。這是一個非常基本的例子。希望你可以從中學習並擴展它。

+0

can不要讓它工作。只會顯示錯誤消息。我真的不明白我做錯了什麼。包含頁面文件夾中內容的文件都在代碼中調用。你可以做一個評論版本,以確保我沒有做錯什麼?謝謝 – vascogaspar