Кто-либо может объяснить, как заставить этот код работать?
echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';
Я попытался удалить одинарные кавычки (echo '<div id="panel1-under">Welcome <?php echo "$_SESSION[username]"; ?></div>';
), но это не работает.
echo "<div id=\"panel1-under\">Welcome ".$_SESSION['username']."</div>";
или
echo '<div id="panel1-under">Welcome '.$_SESSION['username'].'</div>';
Краткое объяснение:
PHP даже достаточно умен, чтобы обнаруживать переменные внутри PHP строка и оцените их:
$ variablename = "Эндрю";
echo "Привет, $ variablename, добро пожаловать";
=> Привет, Эндрю, добро пожаловать
Дополнительная информация: PHP.net - echo
Вам необходимо объединить ваши строки и переменные.
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
Расширение переменной не работает внутри одинарных кавычек .Вы можете сделать либо:
echo "<div id=\"panel1-under\">Welcome {$_SESSION['username']}</div>";
, либо
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
Вообще говоря, чтобы использовать одинарную кавычку внутри строки, которая использует одинарную кавычку в качестве разделителя, просто экранируйте одинарную кавычку внутри строки
echo 'That\'s all, folks';
Однако неясно, какова цель вашего кода.
echo '<div id="panel1-under">Welcome <?php echo "$_SESSION['username']"; ?></div>';
Поскольку вы уже используете код PHP, не нужен. Если вы пытаетесь вывести только содержимое переменной сессии, то можно использовать
echo '<div id="panel1-under">Welcome ' . $_SESSION['username'] . '</div>';
В одинарных кавычках имена переменных не анализируются, как если бы они были заключены в двойные кавычки. Если вы хотите использовать здесь строки в одинарных кавычках, вам нужно использовать оператор конкатенации строк , , .
:
echo '<div id="panel1-under">Welcome <?php echo "'.$_SESSION['username'].'"; ?></div>';
Между прочим: ответ на вопрос в заголовке состоит в том, что для использования буквальной одинарной кавычки внутри одинарной кавычки вы экранируете одинарную кавычку, используя обратная косая черта:
echo 'Here is a single-quote: \'';