#php #html
#php #HTML
Вопрос:
Я пытаюсь распечатать изображение пользователя, используя PHP и HTML. Изображение пользователя сохраняется внутри $_SESSION['usericon']
Ошибка в строке 3.
Я попытался удалить теги PHP и отключить print_r и т.д.
<?php
if (isset($_SESSION['userId'])) {
echo '<img class="img-responsive" src="img/<?php print_r($_SESSION['userIcon']); ?>">
<a href="settings.php">Settings</a>
<form action="lib/logout.php" method="POST">
<button type="submit" name="logout-submit">Logout</button>
</form>';
} else {
?>
Комментарии:
1. Вы уже находитесь в разделе PHP code, поэтому использование
<?php
внутри этого снова не имеет абсолютно никакого смысла. Пожалуйста, прочтите некоторые основы конкатенации строк. (Нам не нужно объяснять это здесь, этот сайт не является заменой руководств и т.д.)2. Вы могли бы просто объединить переменную, не уверены, что это все еще тот синтаксис (не выполняется php с версии 4):
echo '<img class="img-responsive" src="img/' . $_SESSION['userIcon']) . '">';
3. @executable Я присвоил переменной $_SESSION[‘userIcon’], но теперь, когда я смотрю на исходный код страницы, я просто делаю это: <img class=»img-responsive» src=»img / $ userIcon»>
Ответ №1:
Вот простое решение вашей проблемы. Вам нужно удалить теги php и использовать конкатенацию.
<?php
if (isset($_SESSION['userId'])) {
echo '<img class="img-responsive" src="img/'.$_SESSION['userIcon'].'">
<a href="settings.php">Settings</a>
<form action="lib/logout.php" method="POST">
<button type="submit" name="logout-submit">Logout</button>
</form>';
} else {
}
?>
Ответ №2:
изменить
echo '<img class="img-responsive" src="img/<?php print_r($_SESSION['userIcon']); ?>">
Для
echo '<img class="img-responsive" src="img/'.$_SESSION['userIcon']).'">';
Ответ №3:
Вы можете использовать что-то вроде этого:
<?php
if (isset($_SESSION['userId'])) {
$img = sprintf('<img class="img-responsive" src="img/%s" />', $_SESSION['userIcon']);
echo $img . ' <a href="settings.php">Settings</a>
<form action="lib/logout.php" method="POST">
<button type="submit" name="logout-submit">Logout</button>
</form>';
} else {
// @todo
}
?>
rsrs
Ответ №4:
Вы запустили PHP-код внутри PHP-кода… Это правильный img src:
src="img/' . print_r($_SESSION['userIcon']) . '"
Я бы посоветовал вам хранить все (временные) изображения на вашем сервере, а не в файле сеанса 🙂 Хорошего дня.