我在以下代码中遇到解析错误。我可以用更多的组合形式或以更好的方式编写此代码吗?
<?php if( (!isset($_SESSION["userkey"])) || (!isset($_SESSION["username"])) || (!isset($_SESSION["userauthorisation"])) )
{ ?>
<div id="loginbox" >
<form id="loginform" name="loginform" style="margin:0px; background:#000;">
XYZ FORM
</form>
</div>
<? } ?>
如果我使用<?php ?>
,问题就解决了。但我可以修改我的服务器信息,这样就不会在短标签上给我错误,即<? ?>
。我是XAMPP服务器。
答案 0 :(得分:4)
你得到什么错误?
也许你应该在最后一行使用完整的php标签:
<?php if( (!isset($_SESSION["userkey"])) || (!isset($_SESSION["username"])) || (!isset($_SESSION["userauthorisation"])) )
{ ?>
<div id="loginbox" >
<form id="loginform" name="loginform" style="margin:0px; background:#000;">
XYZ FORM
</form>
</div>
<?php } ?>
答案 1 :(得分:3)
没有语法错误,但您可能只需要从<?
切换到<?php
答案 2 :(得分:3)
你在哪一行得到解析错误?
只是一张纸条; isset()函数周围的paranthesis不是必需的;这样做;if( !isset($_SESSION['userkey']) || !isset(...) )
{
....
}
此外,如果你在html'环境'中编写你的phg代码(例如在视图中),通常的做法是使用替代语法;
<?php if( !isset($_SESSION['userkey']) || ... ): ?>
your html
<?php endif; ?>
答案 3 :(得分:3)
要回答新更新的问题,您需要做的是将php.ini指令short_open_tag
更改为1
。
只需打开您的php.ini文件,搜索short_open_tag
(目前设置为0
)并将其值更改为1
。
但是,使用完整的<?php
代码会更好,因为它会使您的代码更具可移植性。你有什么理由不能这样做吗?
答案 4 :(得分:2)
有太多')' - 括号 - 我想你的复制粘贴错误
该行应
if( !isset($_SESSION["userkey"]) || !isset($_SESSION["username"]) || !isset($_SESSION["userauthorisation"]) )