Parse error: eval()'d code |
Description: How to fix 'eval()'d code' errors with templates. |
Author: Ladd |
Date: Wed Oct 30, 2002 3:37 pm |
Type: HowTo |
Keywords: parse error, template.php, comment, BEGIN, END, eval()'d code |
Category: Styles |
|
If you are trying to add a script such as hitbox, fastcounter or anything that has <!-- BEGIN WHATEVER CODE --> and <!-- END WHATEVER CODE --> statements in it to .tpl file, you may be recieving such errors as
Quote: | Parse error: parse error, unexpected T_STRING in /root/phpBB/includes/template.php(127) : eval()'d code on line 50 |
This is due to how phpBB handles <!-- BEGIN --> and <!-- END -->'s. The template system is setup to interpret these in special ways, such as loops and switches, and not having such an object between them results in parse errors.
So, to fix it delete the 'BEGIN' and 'END' in your HTML comments. You should also write all of your comments in lower case. ex:
Code that gives you errors:
Code: | <!-- BEGIN FASTCOUNTER CODE -->
<a href="http://member.bcentral.com/cgi-bin/fc/fastcounter-login?2440090" target="_top">
<img border="0" src="http://fastcounter.bcentral.com/fastcounter?2440090+4880187"></a>
<!-- END FASTCOUNTER CODE -->
<br>
<!-- BEGIN FASTCOUNTER LINK -->
<font face="arial" size="1">
<a href="http://fastcounter.bcentral.com/fc-join" target="_top">FastCounter by bCentral</a></font><br>
<!-- END FASTCOUNTER LINK -->
|
Will be changed to this:
Code: | <!-- fastcounter code -->
<a href="http://member.bcentral.com/cgi-bin/fc/fastcounter-login?2440090" target="_top">
<img border="0" src="http://fastcounter.bcentral.com/fastcounter?2440090+4880187"></a>
<!-- fastcounter code -->
<br>
<!-- fastcounter code -->
<font face="arial" size="1">
<a href="http://fastcounter.bcentral.com/fc-join" target="_top">FastCounter by bCentral</a></font><br>
<!-- fastcounter code --> |
That will solve the parsing errors.
If that is not the problem then you might be using switches incorrectly. Every switch should be on its own line.
This is NOT correct code: Code: | some html code <!-- BEGIN switch_user_online -->
some other html code | This code is not correct before there is some text before switch. This is correct code: Code: | some html code
<!-- BEGIN switch_user_online -->
some other html code |
edited by cyberalien - added second part of article |
|
|