PDA

Просмотр полной версии : Вопрос по обработке Include


krasafcheg08
14.07.2010, 04:08
Всем добрый вечер ребят, возникла проблема с обработкой инклюда.

Есть ajax скрипт который грузит страницы в нужное место.
Вот только грузит он их в том виде в котором есть, т.е програмный код не обрабатыевается, Пару умельцев написали краткий ответ что мол можно сделать выполнение инклюда на другой странице, и просто подгрузить ее в готовом варианте в загружаемую страницу ajax скриптом.
Промучался дня три в итоге ничего не получается, кто может помочь с данной проблемой.
Либо оптимизировать чужой код, чтобы обработка php была, либо способ подгрузки страницы с уже обработанным php в загружаемую ajax`om
Заранее спасибо

mooncar
14.07.2010, 10:01
Ну так сделайте php-файл, в который ваш include вставляется, и обращайтесь методами аякс к этому скрипту. Он тогда получит уже все обработанное.

krasafcheg08
14.07.2010, 13:37
Мун так все и есть
1.база данных
2.фаил в котором стоит инклюд на вывод данных из бд
3.скрипт который грузит пхп фаил в голову сайта
Так вот 3 что грузит его в сайт, не позволяет обрабатывать инклюд

если просто запустить страницу с инклюдом то он естесно работает
но нужно то эту страницу загрузить в тело другой, и при этом уже инклюд не обрабатывается

membrilius
14.07.2010, 15:09
ничего не понятно. Быть такого просто не может.

Вы через AJAX запрашиваете php скрипт в который включен другой php скрипт через include. И в итоге Вам возвращается текст в виде программного кода?

тут только скрипты в студию ))

krasafcheg08
14.07.2010, 15:30
Совершенно верно =)
выкладываю скрипты
Код index.php

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="rounded">
<div id="main" class="container">

<!-- Навигация -->
<ul id="navigation">
<li><a href="#page1">Стр. 1</a></li>
<li><a href="#page2">Стр. 2</a></li>
<li><a href="#page3">Стр. 3</a></li>
<li><a href="#page4">Стр. 4</a></li>
<li><img id="loading" src="img/ajax_load.gif" alt="loading" /></li>
</ul>

<div class="clear"></div>
<!-- Контейнер в которое подгружаются страницы -->
<div id="pageContent"></div>

</div>
</body>


Код скрипта который обрабатывает загружаемую страницу script.js

var default_content="";

$(document).ready(function(){

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

checkURL(this.hash);

});

default_content = $('#pageContent').php();


setInterval("checkURL()",250);

});

var lasturl="";

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

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


if(hash=="")
$('#pageContent').php(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: "php",
success: function(msg){

if(parseInt(msg)!=0)
{
$('#pageContent').php(msg);
$('#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 'Страница не найдена';
?>

Вопрос где допустил ошибку, почему страницы php грузятся голыми без какой либо обработки, если добавить простой текст он соответственно показывается, а все что должно обрабатываться остается голым кодом

membrilius
14.07.2010, 15:40
echo file_get_contents('pages/page_'.$page.'.php');

Вы читаете файл в строку и печатаете его. Почитайте что делает эта функция ))))

Вам набо заменить это дело на
include_once 'pages/page_'.$page.'.php'

krasafcheg08
14.07.2010, 15:57
Уже что-то =)
Только теперь мне обработчик выводит ошибку плана
Parse error: parse error, unexpected T_ELSE in /home/mkm2ru39/public_html/load_page.php on line 11
ненравится ему запрос с инклюдом

Добавлено через 2 минуты
Membri ты супер, красафчег !!!!! Спасибо ! =) все заработало из за инклюда он просто ругался на текст с выводом ошибки при отсутствии запрашиваемой страницы