那么让我解释一下:
我基本上希望当您发表评论时(我使用 js/jquery 脚本将字符串发送到 insert.php 并插入数据库)您将收到 2+ 积分。现在我已经完成了,所以你得到了+2分,但我想显示一条像stackoverflow这样的消息。我已经知道如何显示像 stackoverflow 这样的消息,但不知何故我需要从 insert.php 发送(插入后),如下:
<div id='message' onclick="closeNotice()" style="display: none;">
Hey, <b><? echo $pusername; ?></b> - You've just got +<? echo $gpm; ?> points for your comment!
<a href="#" class="close-notify" onclick="closeNotice()">X</a>
</div>
到index.php..
我正在考虑也许编码到我当前的脚本(正在发送字符串到 insert.php)中,它应该找到#message并将其扔进#box(在index.php中称为“box”的div)。
但我该怎么做呢?如果我喜欢的话,在完成 insert.php 之后,您可以激活 javascript 中的一个函数,该函数执行以下操作:
function showmessage() {
$("#box").html(data).find("#message").fadeIn("slow")
}
正如我所说,您激活脚本执行以下操作:
<script type="text/javascript" language="javascript">
showmessage();
</script>
在您成功插入数据库并向用户提供积分后?
我刚刚测试过这个,但无法让它工作。
我的网站与 phpBB 登录的会话集成(我有 phpBB 论坛),所以我认为我不能使用 $_SESSION。
insert.php 在框架中打开。
我的问题是操作和确认显示发生在不同的页面上。
如果我理解正确的话,你的问题是操作和确认的显示发生在不同的页面上。
执行此操作的一种方法是存储要在用户会话的下一页上显示的消息:
// insert.php
$_SESSION["user_message"] = "You were awarded +2 points.";
并输出到如下页面:
// thankyou.php
echo $_SESSION["user_message"]; // Or show the box, or whatever
$_SESSION["user_message"] = null; // Clean up
这样做的潜在缺点是,如果用户打开了网站的两个或更多页面/选项卡,并在它们之间进行了多次导航,则该消息可能会出现在错误的上下文中。例如,如果我在选项卡 A 中单击“保存”,然后刷新选项卡 B,则可能会出现选项卡 A 的消息显示在选项卡 B 中的情况。
您可以通过向消息的变量名称添加随机生成的密钥,并将该密钥传递到要显示消息的页面来帮助实现这一点:
// insert.php
$key = "123456"; // Insert random generation method here, e.g. using rand()
$_SESSION["user_message_$key"] = "You were awarded +2 points.";
header ("Location: thankyou.php?message=$key"); // Pass the key to the next page
// thankyou.php
$key = $_GET["message"]; // No sanitation necessary here AFAICS
echo $_SESSION["user_message_$key"]; // Or show the box, or whatever
$_SESSION["user_message_$key"] = null; // Clean up
这非常优雅,因为
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)