2011-09-20 3 views
0

저는 웹 사이트 개발에 iFrames를 피하려고합니다. 많은 샘플 코드를 시도했지만 아무 것도 작동하지 않는 것 같습니다. 정확히 어디서 어떻게 코드를 넣어 주시면 감사하겠습니다 :)PHP 쿼리 문자열을 사용하여 동적으로 내용을로드하는 방법은 무엇입니까?

미리 감사드립니다.

추신 : 모든 일은 서버에서 제대로 작동합니다.

<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를 통해 웹 응용 프로그램에 데이터를 전송하고 (배경) 비동기 서버에서 데이터 같은

+0

이 방법과 비교했을 때 SEO면에서 가장 좋은 옵션입니까? – vascogaspar

+0

예 .. SEO의 관점에서 말하면 ... 검색 엔진은 예를 들어 같은 URL을 사용하여 다른 쿼리 문자열에 다른 순위를 부여합니다. 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 스크립트를 만들어 콘텐츠를 만들고 클릭 한 항목에 자바 스크립트 액션을 추가합니다. 당신은 각 링크에 대한 id 속성을 추가하고 (여기 jQuery AJAX 사용)과 같은 JS 함수를 만들 :

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

아약스에 이미 마운트했지만 문제는 URL이 변경되지 않는다는 것입니다. 그것은 SEO 측면에서 나를 괴롭힌다. 어떤 해결책을 알고 있습니까? – vascogaspar

+0

페이지를 다시로드하지 않고 URL을 변경하려면 [이 스레드] (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> 

은 그럼 당신은 p=<your_filename_here>를 통해 URL에 전달되는 문자열을 일치하는 사이트의/페이지/폴더에있는 파일의 각 페이지에 대한 내용을 배치한다. (예 : 'first-page-name'/pages/first-page-name.php을로드합니다.) 공격자가 임의의 파일을 포함하지 못하도록 허용 된 파일 이름 배열을 포함 시켰습니다. 이것은 아주 기본적인 예입니다. 바라건대 당신은 그것으로부터 배우고 그것을 확장 할 수 있습니다.

+0

수 있습니다 작동시키지 마라. 오류 메시지 만 나타납니다. 나는 정말로 내가 뭘 잘못하고 있는지 보지 못한다. 코드에서 호출 된 페이지 폴더의 내용이있는 파일 내가 잘못한 게 아니라는 것을 확인하기 위해 주석 달린 버전을 할 수 있니? 감사 – vascogaspar

관련 문제