2015-02-07 3 views
-2

Так что заголовок может показаться запутанным, так что вот краткий пример.Вывод PHP-переменной внутри HTML

Вот код php (завернутый в HTML);

echo '<br/><img src="<?php echo $filepath" alt="test" />'; 

И вот результат этого кода в исходном файле;

<img src="&lt;?php echo $filepath;?&gt;" alt="test"> 

Как вы можете видеть, php-код отображается, а не выполняется. Вот полный файл, в котором находится код;

<?php include('_header.php'); ?> 

<?php 
$username = $_SESSION['user_name']; 

$filesyst = array('png', 'jpeg', 'gif', 'jpg'); 
foreach($filesyst as $val) { 
$path = 'avatar/'.$username.'.'.$val; 
if(file_exists($path)) { 
$filepath = 'avatar/'.$username.".".$val; 
} else { 
//default image to be loaded 
} 
} 
?> 

<?php 

// HERE'S THE CODE ---------- 
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />"; 
echo '<br/><img src="<?php echo $filepath;?>" alt="test" />'; 


?> 

<div> 
    <a href="index.php?logout"><?php echo WORDING_LOGOUT; ?></a> 
    <a href="edit.php"><?php echo WORDING_EDIT_USER_DATA; ?></a> 
</div> 

<?php include('_footer.php'); ?> 

Любые идеи о том, что здесь происходит? Любая помощь высоко ценится!

+0

Вы уже находитесь в теге PHP - не открывайте новый. Вам нужно объединить переменную. 'echo 'foo:'. $ foo. ', бар: ' . $ Bar'. – h2ooooooo

+0

Вы используете открывающие и закрывающие теги в тегах php ... – ElefantPhace

ответ

2

Вы уже находитесь в php-блоке. Попробуйте следующее:

<?php 

// HERE'S THE CODE ---------- 
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />"; 
echo '<br/><img src="'.$filepath.'" alt="test" />'; 

?> 
+0

Итак, используя этот код, теперь я получаю сообщение об ошибке «неопределенная переменная: путь к файлу» в этом файле. Любая идея, как это исправить? – MyNameIsNotSoCool

+0

Вы должны заменить эти строки в исходном источнике. Но, возможно, вы не назначили свою переменную. Возможно, ваш foreach никогда не зацикливается, потому что у вас нет изображений в вашем каталоге, у вас есть еще одна ошибка в вашем источнике. – etalon11

+0

А я вижу, мне удалось это исправить. Спасибо за помощь! – MyNameIsNotSoCool

0

У вас есть код PHP, инкапсулированный в строку: echo -ing. Попробуйте это вместо:

echo '<br/><img src="' . $filepath . '" alt="test" />'; 
Смежные вопросы