ajax : inclusione php

Ciao GIanni devo usare ajax per caricare una pagina.php

ho scritto questo :

case 'switchPage':
if(!eregi('\.',$_GET['page'])){
$content = file_get_contents('inc/includes/panels/pages/'.$_GET['page'].'.php');
}else{
$content = 0;
}
echo utf8_encode($content);
break;
function switchPage(page){
   obj.onreadystatechange = 
   function(){
         div = document.getElementById('panelMain');
         if(obj.readyState == 1){
            div.innerHTML = loadImage+' <?php $sm->translate('requestContent',false);?>';
         }
         if(obj.readyState == 2){
            div.innerHTML = '';
         }
         if(obj.readyState == 4){
            response = obj.responseText;  
               if(obj.status == 200){   
                  if(response != '0'){
                     div.innerHTML = response;
                  }else{
                     div.innerHTML = 'ERROR';
                  }
               }
         }
   }
   obj.open("GET", '/ajax.request.php?do=switchPage&page='+page, true);
   obj.send("");
}

ma a quanto pare se inserisco dei tag php nella pagina richiesta in modo da modificare il contenuto in modo dinamico e prendere i dati dal dabatase ottengo solo quello che c'è nell'html e non il risultato restituito da php

cioè :

pagina inclusa:

<p>ciao</p>

<?php

echo 'aaaaaaaa';

?>

pagina che include:

ottengo questo:

ciao

e non

ciaoaaaaaaaaaa

come devo fare?

 :bye:

inviato 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

In realtà non fai un include ma sostituisci il contenuto della pagina che non essendo caricata non passa al parser php.

Ma è solo una mia opinione un po' di corsa!

risposto 9 anni fa
LonelyWolf
X 0 X

non devi usare file_get_contents ma devi fare un semplice include del file. Però per catturare l'output devi usare le funzioni ob:

ob_start();

include 'inc/includes/panels/pages/'.$_GET['page'].'.php';

$content = ob_get_clean();

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

grassie mille :death:

sapevo di dover utilizzare l'output buffer, ma non come mettere tutto in una variabile

:bye:

risposto 9 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda