PHP - 如果未登录,则拒绝访问页面

时间:2016-12-23 11:59:41

标签: php

我是PHP的新手,刚刚实现了一个登录脚本。

没有注册表只是少数几个人的内部网站,所以我在数据库中预先定义了密码。

一切正常,他们可以登录和退出,但是如果你没有登录,有些页面我不想查看。

他们这样做的方式基本上是检查他们是否已登录,如果是,则将html显示给要点击的链接。但是我在控制台中收到错误:

未捕获的SyntaxError:意外的令牌}

我的index.php

<?php

if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) 
{
    echo "<div class='mainContainer' align='center'>
    <div class='noteSelectionBoxContainer'>
        <div class='custom-font' id='note-header-text'>
            Choose your Note Category... <br />
        </div>
        <div onclick='location.href='general_notes.php';' class='noteSelectionBox hvr-bounce-to-top1' id='selection-box1'>
            <div class='vertical-align-content'>
                <div class='noSelect'>
                    <div class='noteboxText custom-font'>GENERAL NOTES</div>
                </div>
            </div>
        </div>
        <div onclick='location.href='template_notes.php';' class='noteSelectionBox hvr-bounce-to-top2' id='selection-box2'>
            <div class='vertical-align-content'>
                <div class='noSelect'>
                    <div class='noteboxText custom-font'>TEMPLATE NOTES</div>
                </div>
            </div>
        </div>
        <div onclick='location.href='variable_notes.php';' class='noteSelectionBox hvr-bounce-to-top3' id='selection-box3'>
            <div class='vertical-align-content'>
                <div class='noSelect'>
                    <div class='noteboxText custom-font'>REPLACE VARIABLES</div>
                </div>
            </div>
        </div>
    </div>
</div>";
}
else
{
    echo "<div class='custom-font' style='font-size: 18px;'> Please log in to view the note categories.</div>";
}

?>

通常我可以点击div并点击onclick并将我发送到定义的位置。

为什么说Uncaught SyntaxError:Unexpected token}

enter image description here

2 个答案:

答案 0 :(得分:1)

您的onclick属性在单引号内定义。这意味着如果它们的值包含单引号,则需要对其进行转义。否则,它们将被混淆为属性值的结束。

所以你需要这样的东西:

<div onclick='location.href=\'general_notes.php\';' class='noteSelectionBox hvr-bounce-to-top1' id='selection-box1'>

注意反斜杠添加到单引号中。

答案 1 :(得分:1)

此控制台错误不是php问题。这是关于JavaScript的。

你有内联JavaScript,它在单引号内有单引号,所以你需要scape \

<?php

if (true) 
{
    echo "<div class='mainContainer' align='center'>
    <div class='noteSelectionBoxContainer'>
        <div class='custom-font' id='note-header-text'>
            Choose your Note Category... <br />
        </div>
        <div onclick='location.href=\"general_notes.php\";' class='noteSelectionBox hvr-bounce-to-top1' id='selection-box1'>
            <div class='vertical-align-content'>
                <div class='noSelect'>
                    <div class='noteboxText custom-font'>GENERAL NOTES</div>
                </div>
            </div>
        </div>
        <div onclick='location.href=\"template_notes.php\";' class='noteSelectionBox hvr-bounce-to-top2' id='selection-box2'>
            <div class='vertical-align-content'>
                <div class='noSelect'>
                    <div class='noteboxText custom-font'>TEMPLATE NOTES</div>
                </div>
            </div>
        </div>
        <div onclick='location.href=\"variable_notes.php\";' class='noteSelectionBox hvr-bounce-to-top3' id='selection-box3'>
            <div class='vertical-align-content'>
                <div class='noSelect'>
                    <div class='noteboxText custom-font'>REPLACE VARIABLES</div>
                </div>
            </div>
        </div>
    </div>
</div>";
}
else
{
    echo "<div class='custom-font' style='font-size: 18px;'> Please log in to view the note categories.</div>";
}

?>
相关问题