2016-03-26 13 views
0

Ich versuche, PHP-Code, der ein Echo enthält. Innerhalb dieses Echos brauche ich es jedoch, um PHP-Code darin zu widerspiegeln. Ein kurzes Beispiel folgt.PHP Echo andere PHP-Code

<!php echo '<?php echo "test"; ?>'; ?> 

Mein Hauptgrund dafür ist, dass ich eine mysql_fetch_array while-Schleife verwenden, die einige HTML-Echos und rudern $ [] Informationen in es aber auch benötigt PHP drin. Ich habe gesagt, was ich wirklich tun muss.

while ($row = mysql_fetch_array($result)) { 
echo '<div style="position: relative;" > 
<img src="Backgrounds/'. $row[id] .'.jpg" alt="error"> 
<br /><br /> 
<?php 
Some php content that also uses $row[] content 
?> 
<br /> 
</div>'; 
} 

Mein einziges Problem ist, dass wenn ich Element in Chrom inspizieren, es stellt sich heraus, wie diese

while ($row = mysql_fetch_array($result)) { 
echo '<div style="position: relative;" > 
<img src="Backgrounds/'. $row[id] .'.jpg" alt="error"> 
<br /><br /> 
<!--?php 
Some php content that also uses $row[] content 
?--> 
<br /> 
</div>'; 
} 

und es stellt sich die PHP-Teil in Kommentare zu html. Ich bin mir nicht sicher, was ich hier machen soll.

+2

Beenden Sie die Verwendung der ** veralteten und ab PHP7 entfernten ** mysql_ * -Funktionen. Migrieren Sie zu PDO und verwenden Sie vorbereitete Anweisungen. –

+0

Warum möchten Sie PHP-Code ausgeführt werden? 'eval' ist wahrscheinlich das was du willst. http://php.net/eval –

+0

@CharlotteDunois "NoOne" will in diesem Zusammenhang wirklich böse;) – djot

Antwort

0

Ansonsten versuchen es umgekehrt:

while ($row = mysql_fetch_array($result)) 
{ 
    ?> 
    <div style="position: relative;" > 
     <img src="Backgrounds/<?=$row[id]?>.jpg" alt="error"> 
     <br /><br /> 
     <?php 
      //Some php content that also uses $row[] content 
     ?> 
     <br /> 
    </div> 
    <?php 
} 

Und auch wechseln PDO-Objekte.

+0

Dank ausgibt . das funktioniert für was ich will. Ich werde später an den PDO-Sachen arbeiten. –

1

In einem HTML-Kontext, <?php, <something, etc, ist die Eröffnung eines HTML-Tags. Bearbeiten < mit seinem HTML-Entität &lt; zu verhindern, dass es passiert ..

&lt;?php 

Noch besser ist, verwenden htmlspecialchars:

<?php echo htmlspecialchars('<?php echo "test"; ?>'); ?> 
+0

mache ich das gleiche mit dem Ende auch? mögen ? < –

+0

Die ** lt ** in < steht für ** weniger als **, das ist das Rawr

+0

die <und> Symbole aus irgendeinem Grund in Anführungszeichen setzen und dann zeigt alle innen php auf dem Bildschirm, während die htmlspecialcharacters den gesamten Code darin auf dem Bildschirm –