找不到意外的'{',期待','或';'

时间:2012-09-05 01:25:51

标签: php syntax

人们可以看到我的网站正常,但Google收到500错误。我打开了所有错误报告,我得到了:意外的'{',期待','或';'在第6行。

我已经多次过去,找不到任何错误。希望有人能提供帮助。 如果我取第5行$(\'#js_terms_of_use \')。点击(function()并删除两个''第6行的错误消失了,但我逃脱了它们所以我不明白这是什么问题这是代码:

echo '
<script type=\"text/javascript\">
$Behavior.termsAndPrivacy = function()
{
    $(\'#js_terms_of_use\').click(function()
    {
        '; ?>

        tb_show('<?php echo extras::getPhrase('user.terms_of_use', array('extras_squote' => true)); ?>', $.ajaxBox('page.view', 'height=410&width=600&title=terms')); 
        <?php echo '
        return false;
    });

    $(\'#js_privacy_policy\').click(function()
    {
        '; ?>

        tb_show('<?php echo extras::getPhrase('user.privacy_policy', array('extras_squote' => true)); ?>', $.ajaxBox('page.view', 'height=410&width=600&title=policy')); 
        <?php echo '
        return false;
    });
}
</script>
';

2 个答案:

答案 0 :(得分:3)

默认情况下会回显<?php ?>个标记之外的任何内容。使用这个对你有利。多行单引号字符串是一个坏主意。这是尝试清理代码:

<?php 
$TOU  = extras::getPhrase('user.terms_of_use', array('extras_squote' => true));
$priv = extras::getPhrase('user.privacy_policy', array('extras_squote' => true));
?>
<script type="text/javascript">
$Behavior.termsAndPrivacy = function()
{
    $('#js_terms_of_use').click(function()
    {
        tb_show('<?php echo $TOU ?>', $.ajaxBox('page.view', 'height=410&width=600&title=terms')); 
        return false;
    });

    $('#js_privacy_policy').click(function()
    {
        tb_show('<?php echo $priv ?>', $.ajaxBox('page.view', 'height=410&width=600&title=policy')); 
        return false;
    });
}
</script>

答案 1 :(得分:1)

如果您确实需要在PHP中从单个回显输出多行,请使用heredoc语法(如果可用,请使用newdoc语法)。如需复习,请查看php.net