if($ success),提示/警告而不是echo。怎么样?

时间:2012-08-27 08:18:54

标签: php echo prompt

我是PHP的新手,但我可以稍微更改代码以满足我的需求。 我有一个表单,当您发送它时,它会在页面内显示成功/失败的消息。 但是,我只想要一个提示/提醒来显示成功/失败消息,而不是显示在页面内的消息。

所以我拥有的是

if ($success){ echo "Sent! Thank you";}
else{  echo "Ops! Try again!";}

有什么想法吗? 非常感谢你提前

2 个答案:

答案 0 :(得分:4)

我怀疑你可能不想要你想要的但是......

if ($success){ 
    $message = "Sent! Thank you";
} else {
    $message = "Ops! Try again!";
}
?><script>
    prompt(<?php echo json_encode($message); ?>);
</script>
<noscript>
    <p><?php echo htmlspecialchars($message); ?></p>
</noscript>

注意:给定一个输入字符串,json_encode将输出一个可以安全包含在HTML脚本元素中的JavaScript字符串文字。它不会输出JSON。

虽然字符串本身不包含任何特殊字符,但是对于您输出的任何非显式HTML / JS /等的内容,运行这种XSS保护是一个好习惯。

答案 1 :(得分:0)

如果你想要更好看的东西:

<?php
   if ($success) {
       $message = "Sent! Thank you.";
   } else {
       $message = "Oops...";
   }
   echo '<div id="message">'.$message.'<div id="close-button"></div></div>';
?>

通过这种方式,您可以按照自己的喜好设置样式(如绝对定位)。但如果div位于绝对位置,你必须在javascript中实现关闭按钮。