Я пытаюсь сделать специальную веб-страницу «echo» всей новой HTML-страницей, «перезаписывая» все, что установлено на «запрошенной странице». Предположим, что в нем есть какая-то форма контента, я хочу, чтобы страница «эхом» полностью заменила ее, <head>
теги и все такое.
Подобная концепция используется (из того, что я понимаю) различными двигателями шаблонов. Однако они используют структурированный HTML и заполняют его данными, между тем мне нужно динамическое создание структуры HTML в файле, которое будет агрегировано в строку, а затем «создано» в HTML, который будет отображаться для пользователя.Php echo целая страница HTML override
<?php
$htmlcontent = "\n";
$htmlcontent .= "<html>\n";
$htmlcontent .= "<head>\n";
$htmlcontent .= "<style> body {\n";
$htmlcontent .= " background-color: red;\n";
$htmlcontent .= " }\n";
$htmlcontent .= "</style>\n";
$htmlcontent .= "</head>\n";
$htmlcontent .= "<body>\n";
$htmlcontent .= "<div style=\"background-color:yellow; width:200px; height:200px; position:absolute\"> Some text </div>\n";
$htmlcontent .= "<script>\n";
$htmlcontent .= "alert(\"script has run!\");\n";
$htmlcontent .= "</script>\n";
$htmlcontent .= "</body>\n";
$htmlcontent .= "</html>\n";
echo ($htmlcontent); //EDIT: removed eval() from here
?>
EDIT:удалена Eval(), чтобы избежать путаницы с новыми людьми, поставить комментарий для тех, кто читает Выскажи, чтобы не запутаться отсутствием Eval в коде.
Это содержимое страницы .php, на которую я нацеливаюсь с моим запросом. Идея заключается в том, чтобы быть в состоянии получить совершенно новую страницу в браузере, что происходит, а не ошибка, которую следует (теперь не имеет значения, потому что Eval удаляется):
Parse error: syntax error, unexpected '<' in D:\wamp\www\learningPHP\index.php(30) : eval()'d code on line 2
Если я просто использовать:
echo $htmlcontent;
затем я получаю страницу, чтобы распечатать мою структуру HTML, однако она все печатается в теле пустой HTML-страницы, а не структурируется так, как мне это нужно.
Ответ:
Этот вопрос был одним из плагинов для NetBeans. После ручного редактирования .php-файла с сервера он обнаружил, что он несет стандартные HTML-теги документа, а также некоторые комментарии к нему. Удаление этих исправлено.
'echo',' Eval ', ты даже понимаешь, что ты делаешь? –
Почему вы используете eval? – durbnpoisn
PHP генерирует HTML, поэтому просто выводить все, что вы хотите. Если он выводит ваш PHP, возможно, у вас нет PHP, установленного на вашем компьютере/сервере; или обработчик не настроен? В любом случае «echo eval» ошибочен в этом случае; 'echo $ htmlcontent;' должно быть то, что вы используете. – chris85