2014-12-31 3 views
1

Я пытаюсь повторить приветственное сообщение Welcome (имя пользователя)! и я сделал это отлично в php-файле, просто равнине, эхом повторяя его. Однако в моем файле index.html, когда я использую тот же код, который пытается окружить его div, он не работает ... Это моя конкатенация? Почему это и как я могу это исправить?Php echoing html div не работает

<!---Sale Box---> 
<center> 
<div id="box"> 

<?php 

session_start(); 
echo '<div id="text"> Welcome' . $_SESSION['username']. "</div>" 

?> 

</div> 
</center> 
+0

Является ли веб-сервер код обработки PHP в '.html' файле? Как правило, это не по умолчанию. Если вы видите фактический клиентский код PHP, это означает, что он не рассматривается как серверный код. Переименование файла на '.php', скорее всего, исправит это. – David

+0

'index.htm' В файлах уже сказано:' * .html' -> '* .php' <- вы используете php, поэтому сделайте php-файл – Rizier123

+0

Php-код не будет отображаться на странице html (index.html). Добавить код в PHP Page (index.php) – user3040610

ответ

1

вы должны использовать session_startперед тем любой выход.

http://php.net/manual/en/function.session-start.php: «Примечание: Чтобы использовать куки на основе сеансов, session_start() должна вызываться перед outputing ничего браузера.» .

+0

На самом деле да, вы правы, но формулировка не хороша. Позвольте мне изменить :) Не удаляйте ответ в страхе перед подавлением голосов. Ваш ответ правильный. Возможно, вы захотите продолжить и восстановить его. –

+0

На самом деле я просто хотел переписать его, указав правильный источник ... У меня возникло сомнение в том, что это «до любого вывода» для «session-start()» или просто для 'header()'; -) – fpierrat

1

изменение index.html в index.php

+0

YEAHHHHHHHHH ЭТО РАБОТАЕТ СПАСИБО СОООООО МНОГО! :-) – Xela

+0

@Xela приветствую;) – mohsenJsh

+0

Тогда примите его ответ madam/signore –

2

PHP не может быть проанализирован в .html -Files. Только если вы переконфигурируете свой Apache-сервер для обработки .html так же, как и с .php.

Так что ваша страница должна быть index.php вместо index.html

Также вы должны позаботиться, чтобы запустить это на сервере, где апач работает или можете установить локальный сервер Apache для разбора PHP. См xampp

После этого вы должны повторить, как это (один из возможных вариантов)

<?php session_start(); ?> 
<!---Sale Box---> 
<center> 
<div id="box"> 

<?php echo "<div id='text'>Welcome {$_SESSION['username']}</div>"; ?> 
</div> 
</center> 
+1

«php can not be parsed by html»: @Dwza: это неправда, это зависит от настроек вашего веб-сервера. – fpierrat

+0

@fpierrat на самом деле вы можете делать все, даже летать на самолете без каких-либо ноу-хау. Так что этот комментарий бесполезен! Даже посвятить. Если вы хотите дать ему меньше о «Как настроить сервер Apache», продолжайте. Но это не проблема ops. Кстати, мой ответ правильный, и нет необходимости посвящать! – Dwza

+0

@Dwza Я не спустил вниз, но причина могла быть из-за того, что вы * первоначально * говорили о * «php can not be parsed by html» * - Это не совсем так. Файлы .html' могут выполняться как PHP, если Apache получает указание обрабатывать файлы '.html' как PHP через директиву' .htaccess'. Тем не менее, теперь я вижу, что вы внесли изменения в это. –