Javascript 使用onclick在php/html中显示确认消息

Javascript 使用onclick在php/html中显示确认消息,javascript,php,html,Javascript,Php,Html,所以我有一行代码: echo '<a href="scripts/Logout.php"><span>Logout</span></a></li>'; echo'; 当用户登录时,会显示“登录”,而不是显示“注销”。 它工作正常,但是,我尝试使用onClick显示一个弹出消息框,询问用户“您确定要注销吗?” 大概是这样的: echo '<a href="scripts/Logout.php" onClick="return c

所以我有一行代码:

echo '<a href="scripts/Logout.php"><span>Logout</span></a></li>';
echo';
当用户登录时,会显示“登录”,而不是显示“注销”。 它工作正常,但是,我尝试使用onClick显示一个弹出消息框,询问用户“您确定要注销吗?”

大概是这样的:

echo '<a href="scripts/Logout.php" onClick="return confirm('are you sure?')"><span>Logout</span></a></li>';
echo';
例如,如果我将主页上的第二行代码复制到一个content div中,它就可以正常工作(减去我不再点击“Logout”按钮的事实)

**仅供参考-我已经从php脚本中删除了这一点(删除了行前面的echo,结果仍然相同)

有人能给我指出正确的方向吗


非常感谢。

这是@JamesHunt评论的另一种选择

假设您正在使用会话,您可以验证用户是否使用会话本身登录

php文件内部:

<?php
    if($_SESSION['userAuthed']):
?>
    <a href="scripts/Logout.php"><span>Logout</span></a></li>
<?php
    else:
?>
    <a href="scripts/Logout.php" onClick="return confirm('are you sure?')"><span>Logout</span></a></li>
<?php
    endif;
?>




代码片段中突出显示的代码已经向您显示了错误:单引号实际上打断了您的
echo
语句。逃离他们:

echo '<a href="scripts/Logout.php" onClick="return confirm(\'are you sure?\')"><span>Logout</span></a></li>';
echo';
首先,我通常会避免重复大量html代码来防止此类错误


此外,如果您想提示警告,这是值得怀疑的。除了用户可能丢失一些数据的情况外,通常最好让他们简洁地注销。

您需要转义字符串中的单引号。这个错误可能是PHP被你的字符串弄糊涂了,因为对PHP来说,它是两个字符串,中间有随机的单词。谢谢@JamesHunt,完成了任务,我不确定我是否能在这里将你的答案标记为正确。。。谢谢大家的快速回复。谢谢你的回答,我会考虑到这一点,我从来没有确定在html代码之前包含它/结束它的区别/良好实践。谢谢谢谢你,我真的很高兴。我喜欢这个。谢谢