PHP-Include mit innerHTML

LuckyUser

Grünschnabel
Hallo zusammen

hab folgendes Problem:
ich will ein div laden mit der php Datei: name.php
nun es funktioniert nur, wenn alles in der php Datei auf einer Zeile steht, jedoch ist das sehr unübersichtlich zum codieren :)
hat jemand eine Lösung wie es geht, dass das php Dokument normal codiert werden kann?
der Code :
HTML:
<script type="text/javascript">
var text='<?php include("name.php");?>';
document.getElementById('divName').innerHTML = text;
</script>

Eigenartig ist ja das es funktioniert aber eben alles muss auf einer Zeile stehen...? :confused:

Vielen Dank für Eure Anworten... ich komme wirklich nicht mehr weiter :(
 
Wie sieht der Quelltext den aus, wenn die PHP-Datei eingeladen wurde? Ich denke nämlich das es daran liegt, dass der Inhalt der PHP-Datei dann in mehreren Zeilen steht im Quelltext und JavaScript damit dann ein Problem hat.
 
Danke für Deine Antwort...
Kann gut möglich sein... aber im Quelltext sieht man nichts, da es erst gar nicht ausgeführt wird wenn mehrere Zeilen stehen...
 
Könntest du mal deinen PHP-Quellcode der Datei name.php und den Quelltext der Datei in der du die einfügst posten. Dann könnte ich dir sagen wo das Problem liegt.
 
ok also
name.php ist momentan eigentlich rein HTML aber kommt später noch php dazu:
HTML:
<table width="784" border="0">
  <tr>
    <td width="10" height="179" valign="top">&nbsp;</td>
    <td width="764" valign="top"><table width= "760"  border= "0"  cellpadding= "2"  cellspacing= "1"  bgcolor= "#999999" >
      <tr valign= middle >
        <td height= 19  colspan= 2  align= left  class= news_Titel  background= "style/news.jpg" >HP DesignJet T610 44</td>
      </tr>
      <tr bgcolor= #EEEEEE >
        <td width= 149  height= 142  align= center  valign= middle  bgcolor= #FFFFFF  class= standart ><div align= center ><img src=" news/HP%20T610%2044.jpg"  width= "100"  height= 70 ></div></td>
        <td width= 600  align= left  valign= top  bgcolor= #EEEEEE  class= standart>Text...<br>
      Der Plotter blabla und Papier und balbla </td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td height="185" valign="top">&nbsp;</td>
    <td height="185" valign="top"><table width= "760"  border= "0"  cellpadding= "2"  cellspacing= "1"  bgcolor= "#999999" >
      <tr valign= middle >
        <td height= 19  colspan= 2  align= left  class= news_Titel  background= "style/news.jpg" >HP DesignJet T610 44</td>
      </tr>
      <tr bgcolor= #EEEEEE >
        <td width= 149  height= 142  align= center  valign= middle  bgcolor= #FFFFFF  class= standart ><div align= center ><img src=" news/HP%20T610%2044.jpg"  width= "100"  height= 70 ></div></td>
        <td width= 600  align= left  valign= top  bgcolor= #EEEEEE  class= standart>Text...<br>
      Der Plotter blabla und Papier und balbla </td>
      </tr>
    </table></td>
  </tr>
</table>

und der Quelltext:

HTML:
<script type="text/javascript" src="menu/insert.js"></script></td>
    <td height="507" colspan="2" rowspan="2" valign="top">
<script type="text/javascript">function anzeige(nr){
if(nr==1){}
else if(nr==2){
var text='den ganzen quelltext der name.php datei';
document.getElementById('show').innerHTML = text;
}
else{

}
}</script>
<div id="show"></div>
 
Moin,

der Weg ansich ist hier beschrieben:
http://www.tutorials.de/forum/webma...n-ich-php-variablen-javascript-verwenden.html

In deinem Fall ist es ein klein wenig komplizierter, da du ja keinen String hast, den du ausgeben kannst(zumindest später nicht, wenn PHP dazukommt).

Die Lösung könnte so aussehen:

PHP:
<script type="text/javascript">
<?php
//Ausgabepuffer aktivieren
//alles was jetzt kommt, wird in den Puffer geschrieben, anstatt es an den Browser zu senden
ob_start(); 
//Datei einbinden
include("name.php");
//Die im Puffer gespeicherte Ausgabe der Datei in einer Variablen Speichern
//Und Pufferung beenden
$txt=rawurlencode(ob_get_clean());
?>
//Verarbeitung der PHP-Variablen per JS
document.getElementById('divName').innerHTML = unescape('<?php echo $txt;?>');
</script>

Ein Blick in den Quelltext wird dir zeigen, dass alles fein säuberlich in einer Zeile steht :)
 
ja Dankeschön

So funktioniert es... das man es buffern könnte ist eine gute Idee! Jedoch gibt es einen unschönen Quelltext...

Wie auch immer, es funktioniert!

Danke

Nun noch eine Frage, was ist besser, das ganze mit Frames oder eben die obere Variante?
 
Zuletzt bearbeitet:
Was ist unschön an dem Quelltext? ;-]
Von mir aus kannst du dir ja ein paar Blümchen dazumalen :)

Was da besser ist?
Kommt drauf an, was genau du machen willst, wenn das PHP in der name.php Variablen etc. von der "Elternseite" benötigt, wären Frames eher nicht so günstig.

Normalerweise macht man soetwas aber mi AJAX.
 
Hey LuckyUser könntest du mir noch erklären wie du das jetzt mit Ajax gemacht hast... Ich will nämlich in etwa das gleiche machen :)
 
Zurück