2011-09-20 53 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