修改服务器信息以进行短标记解析

时间:2011-10-14 12:23:02

标签: 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 ?>,问题就解决了。但我可以修改我的服务器信息,这样就不会在短标签上给我错误,即<? ?>。我是XAMPP服务器。

5 个答案:

答案 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"])  )
相关问题