2016-03-26 2 views
0

Im пытается иметь php-код, содержащий эхо. в пределах этого эха, однако, мне нужно, чтобы он эхо-код PHP внутри него. Ниже приведен краткий пример.php echo другой php-код

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

Моя главная причина этого заключается в том, что я буду использовать mysql_fetch_array во время цикла, что перекликается из некоторых HTML и $ грести [] информацию в нем, но также нуждается в PHP в нем. Ниже я поставил то, что мне действительно нужно сделать.

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>'; 
} 

Моя единственная проблема в том, что, когда я инспектировать элемент хромом, получается, как этот

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>'; 
} 

и превращает PHP часть в комментарии для HTML. Я не уверен, что делать здесь.

+2

Прекратить использование ** устарело и с момента удаления PHP7 ** mysql_ *. Перейдите к PDO и начните использовать подготовленные отчеты. –

+0

Зачем вам нужен PHP-код? 'eval' - это, вероятно, то, что вы хотите. http://php.net/eval –

+0

@CharlotteDunois «NoOne» действительно хочет зла ​​в этом контексте;) – djot

ответ

0

В противном случае, попробуйте перевернуть ее:

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 
} 

А также переключиться на Объекты PDO.

+0

спасибо , это работает для того, чего я хочу. Я буду работать над материалом PDO позже. –

1

В контексте html <?php, <something и т. Д. Является открытием тега html. Редактирование < с его HTML сущности &lt;, чтобы предотвратить это происходит ..

&lt;?php 

Еще лучше использовать htmlspecialchars:

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

Я делаю то же самое с концом также? как ? < –

+0

** lt ** в < означает ** меньше **, что является символом <. Если вы хотите больше, чем знак, вы должны использовать > – Rawr

+0

< и > символы по какой-либо причине помещают его в кавычки, а затем отображает все внутренние php на экране, в то время как htmlspecialcharacters выводит весь код внутри него на экране –