PHP/Javascript 将消息传递到另一个页面

2023-12-13

那么让我解释一下:

我基本上希望当您发表评论时(我使用 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(使用前将#替换为@)

PHP/Javascript 将消息传递到另一个页面 的相关文章

  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • 如何仅在 NextJS 站点构建期间使用 getInitialProps?

    当使用 NextJS 构建静态站点时 我想要getInitialProps方法仅在构建步骤期间触发 而不是在客户端上触发 在构建步骤中 NextJS 运行getInitialProps 方法 https nextjs org docs fe
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 防止用户在下拉菜单中选择默认值

    我试图阻止用户选择默认的下拉菜单选项 有没有办法在下拉菜单选项中添加文本而不是值 我的代码
  • 按百分比设置 bootstrap 模态身高

    我正在尝试制作一个带有主体的模态 当内容变得太大时 该主体会滚动 但是 我希望模式能够响应屏幕尺寸 当我将最大高度设置为 40 时 它没有任何效果 但是 如果我将最大高度设置为 400px 它会按预期工作 但不会响应 我确信我只是错过了一些
  • 如何延迟加载嵌入在 iframe 上的 YouTube 视频?

    如何将延迟加载应用于iframe嵌入视频 我尝试添加loading eager loading auto and loading lazyload 您可以使用srcdoc你里面的属性iframe标签来加载图像 请参阅以下示例作为参考
  • 如何流式传输 OpenAI 的完成 API?

    我想流式传输结果通过 OpenAI 的 API 完成 https beta openai com docs api reference completions 该文档提到使用服务器发送的事件 https developer mozilla
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • JSTL 在循环中每 5 个字段集创建一个新行

    您好 我目前正在迭代并在表中显示字段集列表 为了让布局变得更得体一些 我想在每次循环到达第五个字段集时创建一个新行 谢谢 JSP div class det table class det tr td td tr table div
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • 如果数字小于 10,则显示前导零 [重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 相当于 printf string format https stackoverflow com questions 610406 javascript equivalent t
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012
  • 如何在打字稿文件中导入没有定义文件的js库

    随着我们的项目变得越来越大 我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理 然而 我们使用许多库作为 amd 模块 我们不想将其转换为 TypeScript 我们仍然想将它们导入 TypeScript 文件
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没

随机推荐

  • 如何在Qt中的QTimeEdit中读取当前时间?

    如何读取用户设置的当前小时和分钟QTimeEdit在 Qt 中 以及如何在QDateTime 读取当前日 月 年 分钟和小时 Use time and date 方法 const int hour timeEdit gt time hour
  • C# directx 精灵起源

    当我的精灵旋转原点固定在窗口的左上角时 与精灵绘制 and 精灵 Draw2D 不管怎样 如果我改变旋转中心 它仍然在左上角 我需要精灵绕其 Z 轴旋转 Edit 我已经尝试过这个 hereMatrix pm Matrix Translat
  • 如何在 iOS 中计算对数? [复制]

    这个问题在这里已经有答案了 我想在 iOS 中计算对数 Objective C 可以做到这一点吗 您可以使用C 函数用于计算对数 import
  • 语音识别 Android 应用程序

    我正在制作一个应用程序 它接受用户的命令并实时写入 我最好的选择是什么 像 sphinx 这样的第三方软件还是应该使用内置的 android 语音识别 其次 我希望它能够实时写入 就像我说话时它就开始写入一样 您应该使用内置的 Androi
  • 函数 simplexml_load_string() 上的 XML_PARSE_HUGE

    常数XML PARSE HUGE可以作为第三个参数传递给simplexml load string 根据php net这个标志 放宽解析器的任何硬编码限制 什么是 解析器的默认硬编码限制 我认为放松也有点含糊 它是否消除或增加了 硬编码限制
  • 按钮中的图像 - j2me

    我正在尝试使用 J2ME 构建一个简单的基于菜单的 GUI 菜单项当前是从 Button 类派生的类的对象 有什么办法我可以 替换按钮中的文本并显示图像 类似图标 使文本和图像并排显示在同一菜单栏上 如果我的问题不清楚 请告诉我 我会编辑它
  • 如何使用 PyEnchant 更正文本并自动返回更正后的文本

    import enchant import wx from enchant checker import SpellChecker from enchant checker wxSpellCheckerDialog import wxSpe
  • 我可以对 byte[] 执行按位运算吗?

    假设我有 byte data new byte 1 212 29 144 我能够弄清楚执行按位 AND 的唯一方法是首先将 byte 转换为 uint if BitConverter ToUInt32 data 0 0x7 1 If the
  • Wpf 数据网格最大行数

    我目前正在使用数据网格 我只想允许用户在将 CanUserAddRows 设置为 false 之前输入最多 20 行数据 我在自己的数据网格上创建了 一个依赖属性 源自原始数据网格 我尝试使用该事件 ItemContainerGenerat
  • Pygame:让物体移动速度慢于 1 [重复]

    这个问题在这里已经有答案了 我制作了一个类似太空入侵者的小游戏 一切都很好 除了我觉得我编程的敌人移动得太快了 如果我将它们的移动速度设置为低于 1 例如 0 5 它们甚至不会移动 有什么办法可以让动作变得更慢吗 这是我的敌方单位的代码 i
  • R CMD 检查和 .RDa 数据文件

    我在 data 子目录下有 RDa 格式的数据文件 但是 R CMD check命令无法识别load test RDa 命令及其在此阶段失败并给出以下错误 Warning in readChar con 5L useBytes TRUE c
  • SDL_DisplayFormat 未在此范围内声明:使用 SDL2

    编译器不会返回丢失的 SDL h 而是返回 SDL DisplayFormat 未在位于不同标头的类成员函数的范围内声明 即使我已在 main 中对其进行了初始化 SDL Surface SpriteLoad Load char File
  • gemice_cube 用于重复事件

    我有简单的事件模型 标题 日期 用户 我按月创建了事件日历 gem watu table builder 我需要创建重复事件的功能 我发现我可以使用 gemice cube 来实现它 但我不清楚 我添加到模型 class Event lt
  • SQL 最后 X 条记录的总和

    我已经找了一段时间 但找不到这个问题的答案 也许我没有搜索正确的术语或其他东西 基本上 我有一个数据库 每个日期有任意数量的条目 我需要计算包含条目的最后 X 天的总和 忽略没有条目的日子 我知道如何找到每天的总和 假设我有一个名为 Yie
  • Mysql 距离内查询

    Options lat 25 7742658 lng 80 1936589 miles 30 Query SELECT 3959 acos cos radians lat cos radians lat cos radians lng ra
  • 在gdb中包含malloc.c的源代码吗?

    我如何包含 查看源代码malloc in gdb 我想一步步执行gdb 并步入malloc c调用任何 malloc 函数时的源代码 目前 gdb 所说的是 malloc c No such file or directory This这里
  • uint8_t 乘以布尔值是什么类型?

    来自standard 我试图了解表达式最终会成为哪种类型 bool myBool uint8 t 255 myBool 我保证吗myBool将被投射到uint8 t 又名unsigned char 或者整个结果可能是int 有用的链接 布尔
  • 为什么 git lfs migrate 不跟踪所有 pdf 文件?

    提前备注 git lfs migrate import include pdf 做的工作是git lfs ls files shows e6521dbea0 large180m pdf 我猜 但我还是不明白发生了什么 我需要使用git lf
  • 谷歌身份验证后,即将到来的网址不允许我在科尔多瓦应用程序中进一步前进

    您好 我正在使用 Visual Studio 2015 社区使用 Cordova 应用程序 只需使用 google 身份验证登录应用程序 通过在新窗口中打开它就可以很好地登录 但登录后它会给我三个弹出消息 而不是执行任何操作 这些消息是 在
  • PHP/Javascript 将消息传递到另一个页面

    那么让我解释一下 我基本上希望当您发表评论时 我使用 js jquery 脚本将字符串发送到 insert php 并插入数据库 您将收到 2 积分 现在我已经完成了 所以你得到了 2分 但我想显示一条像stackoverflow这样的消息