Как загружать контент динамически с помощью PHP Query Strings? - PullRequest
0 голосов
/ 20 сентября 2011

Я стараюсь избегать iFrames при разработке сайта. Я пробовал много примеров кода, но, похоже, ничего не работает. если бы вы могли сказать мне точно, где и как разместить код, я был бы признателен:)

Заранее спасибо.

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>

Ответы [ 4 ]

1 голос
/ 20 сентября 2011

Самый простой способ - это что-то вроде того, что один пользователь прокомментировал на ваш вопрос.Сделайте так, чтобы сервер включал определенные файлы на основе значения строки запроса.Эти включаемые файлы будут содержать ваш контент, и при каждом нажатии ссылки вся страница будет обновляться динамическим контентом.Например:

<?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>

Затем вы поместите свой контент для каждой страницы в файл в папке / pages / вашего сайта, соответствующий строке, которая передается в URL через p=<your_filename_here>.(например: 'first-page-name' будет загружать /pages/first-page-name.php) Я включил массив разрешенных имен файлов, чтобы злоумышленники не могли включать произвольные файлы.Это очень простой пример.Надеюсь, вы сможете извлечь уроки из этого и расширить его.

1 голос
/ 20 сентября 2011

Вам нужно использовать AJAX для достижения этой цели.Вы создаете сценарий PHP для создания содержимого и добавляете действие javascript для выбранных элементов.Вы добавляете атрибут id для каждой ссылки и создаете функцию js, как (здесь используя jQuery AJAX ):

$('#link1').click(function() {
 $.ajax({
 url: "generate_content1.php",
 success: function(data){
  $('#content').html(data);
  }
 });
});
0 голосов
/ 20 сентября 2011

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

Может быть, что-то подобное? Ваш вопрос довольно расплывчатый.

0 голосов
/ 20 сентября 2011

Использование AJAX. С помощью Ajax веб-приложения могут отправлять данные и получать данные с сервера асинхронно (в фоновом режиме)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...