2010-08-01 2 views
1

Попытка распечатать некоторые html-формы, но я получаю синтаксическую синтаксическую разборку. Я считаю, что он застрял на SERVER [PHP_SELF], но я не уверен. Как я могу заставить это правильно отреагировать?Как я могу решить синтаксическую ошибку PHP, которую я получаю при анализе html-кода?

Ошибка происходит на сервере [PHP_SELF] линии

Анализировать ошибка: ошибка синтаксиса, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидая T_STRING или T_VARIABLE или T_NUM_STRING

function drawbuttons() 
{ 

echo <<<EOT 
<table> 
<tr><td> 
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post"> 
<input type="submit" name="previous" value="Previous" STYLE="font-size:12pt; background-color:00BFFF; color:ffffff">"; 
</form> 
</td> 
<td> 
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post"> 
<input type="submit" name="next" value="Next"STYLE="font-size:12pt; background-color:00BFFF; color:ffffff"> 
</form> 
</td></tr> 
</table> 
EOT; 
} 
+0

Возможно, вам захочется пересмотреть вопрос о формулировке вашего вопроса. Похоже, вы хотите разобрать синтаксическую ошибку в своем html-коде, так как вы не понимаете, что она пытается вам сказать. Рассмотрим: [HTML: «Синтаксическая синтаксическая ошибка»] без «[]». –

+0

Можете ли вы показать точное сообщение об ошибке = Он обычно показывает номер строки, также вы можете рассказать нам, что это за строка в фрагменте кода = – Abel

ответ

3

Из инструкции по heredoc syntax:

Heredoc text behaves just like a double-quoted string, without the double quotes. This means that quotes in a heredoc do not need to be escaped, but the escape codes listed above can still be used. Variables are expanded, but the same care must be taken when expressing complex variables inside a heredoc as with strings.

Это означает, что вы не можете использовать PHP открытые или близкие теги и вы должны использовать правильный синтаксис для переменных , В этом случае используйте curly brace syntax:

echo <<<EOT 
<table> 
<tr><td> 
<form action="{$_SERVER['PHP_SELF']}" method="post"> 
<input type="submit" name="previous" value="Previous" STYLE="font-size:12pt; background-color:00BFFF; color:ffffff">"; 
</form> 
</td> 
<td> 
<form action="{$_SERVER['PHP_SELF']}" method="post"> 
<input type="submit" name="next" value="Next"STYLE="font-size:12pt; background-color:00BFFF; color:ffffff"> 
</form> 
</td></tr> 
</table> 
EOT; 
1

Вы не можете использовать теги открытия PHP (короткий или не) внутри heredocs.

Используйте вместо этого:

<form action="{$_SERVER['PHP_SELF']}" method="post"> 
Смежные вопросы