取消设置会话变量时出现问题

2023-11-24

我的网站上有一个用于邀请朋友的表格。这是一个简单的文本字段和一个提交按钮。如果出现错误,我会重定向回此页面并显示错误消息(如果它们是会话变量集)。

if (isset($_SESSION['invite_error'])) {
   echo $_SESSION['invite_error'];
   unset($_SESSION['invite_error']);
}

但是,如果我离开此页面并返回到该页面,错误消息仍然会显示。如果我离开并再回来一次,事情就完成了。当我刷新该页面时也是一样...1 次刷新不会消除它,但 2 次刷新会消除它。我无法销毁整个会话,我只想取消设置这个变量。 PHP 版本是 5.2.5 build 6,注册全局变量已关闭,我在本页顶部调用 session_start(),我也尝试过使用无缓存标头。

编辑:添加完整代码。

<?php 
ob_start();
session_start();

$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];

if ($user_id==null) header("Location: /login.php");

if (isset($_SESSION['invite_errors'])) {

    $error = $_SESSION['invite_errors'];
    unset($_SESSION['invite_errors']);

}

require_once("ui/header.php");
?>



<div id="invite" class="content">

    <?php if($error) { ?>
        <div class="errors round">
            <?php echo $error ?>
        </div>
    <?php } ?>

    <h3>Invite Your Friends</h3>

    <div class="invite-form">
        <form method="post" action="controllers/invite.php">
            <div class="row">
                <textarea class="txt-area" name="emails" id="emails" rows="5"></textarea>
                <div class="tip">Separate multiple email addresses with ,</div>
            </div>
            <div class="row-submit">
                <input type="submit" name="submit" id="submit" class="submit-btn" value="Submit" />
            </div>
        </form>
    </div>

</div>

<?php
    require_once("ui/footer.php");
?>

在开始输出缓冲之前启动会话。所以,切换ob_start() and session_start() calls.

由于会话cookie是在发送到浏览器的标头中定义的,并且当您启动缓冲区时标头会发送到浏览器,因此您必须启动会话before缓冲区。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

取消设置会话变量时出现问题 的相关文章

  • 服务器端文件验证在 Yii.2.0 中不起作用

    Is the FileValidatorYii2 中的类只支持客户端验证 我使用代码编写了文件上传系统 在模型中 public function rules return allAllowedFileType safe allAllowed
  • 如何使用 monolog ElasticSearchHandler 登录 Laravel 应用程序

    Monolog 包含弹性搜索处理程序和格式化程序 但它作为自定义通道对 Laravel 的实现并不像 Laravel 文档网站上描述的那么简单 以下是如何执行此操作的简要分步说明 为您的弹性搜索日志记录创建一个配置文件 config ela
  • 如何显示多维数组第二层的 json 值?

    解决此代码时遇到问题 这些是数组 Array 0 gt stdClass Object id gt 1 name gt delux price gt 213 description gt tv gt 0 breakfast gt 0 par
  • Apache 重写 - 获取 PHP 中的原始 URL

    我在 nginx 或 Apache 中重写了这个地址 http domain com hello 到像这样的脚本 http domain com test php ref hell 如何在 PHP 中访问这个重写的 URL 因为 如果我使用
  • PHP中特殊字符的转换

    我已经尝试了很多功能 但我根本无法弄清楚这一点 无论如何 正确的方法 在称为描述的表单字段中 我可以期待各种字符 在将它们提交到数据库之前 需要将它们格式化为 HTML 实体 现在 我的代码 formdesc htmlentities PO
  • 简单的 preg_replace 返回 null

    为什么这个非常简单的 preg replace 返回 null preg replace s test test 这个想法是删除空格 您忘记添加分隔符 preg replace s test test 而且最好使用 s 代替 s 在你的模式
  • PHP:file_get_contents 与 json_decode 不能一起工作

    使用 file get contents 读取 json 文件后遇到问题 当我运行这段代码时 它工作正常
  • PHP 中的异步数据库/服务调用:Gearman 与 pthreads

    在我们的 LAMP 站点上 我们遇到一些服务必须多次调用数据库才能提取数据的问题 通常在 PHP 中完成此操作的方式 至少我的经验 是串行的 这显然是低效的 我们可以通过使用缓存和聚合一些查询来缓解一些低效率的问题 但在某些情况下我们仍然需
  • 验证数据库匹配中的 $_GET id 是否足够安全?

    我的网站上有 2 个页面 一个是 index php 索引页面列出了数据库中存在的所有帖子 另一个页面是 post php 当单击索引页面上的特定帖子时 帖子页面显示单个帖子 现在我用来列出 index php 上所有帖子的代码是 post
  • 如何使用python登录页面,该页面需要服务器在第一次请求时响应会话ID?

    我正在编写一个脚本来登录某个网页 我使用 request 和 request session 模块来实现此目的 在使用登录参数的第一个请求时 服务器响应一个会话 ID 如何设置该会话 ID 以进一步登录到同一页面 url some url
  • Kohana_Exception [ 0 ]:需要有效的 cookie salt。请设置 Cookie::$salt

    我正在学习本教程 http kowsercse com 2011 09 04 kohana tutorial beginners http kowsercse com 2011 09 04 kohana tutorial beginners
  • PHP Netbeans:xdebug 在每个 include() 或 require() 上停止

    我刚刚发现使用 netbeans IDE 中集成的 xdebug 进行 PHP 调试 我认为这很棒 没有它我怎么生活 但有一个问题 如果我在代码深处设置了一个断点 我必须在到达断点之前多次按 继续 F5 因为脚本会在每个 include 和
  • 使用 PHP 5.3 ?: 运算符

    有了这个测试页 page int GET page 1 echo page 我不明白页面未定义时得到的输出 Request Result page 2 2 page 3 3 page 1 error Undefined index page
  • php包含来自另一个目录的文件

    这是一个结构示例 main css style css include article1 php article2 php header php index php 在我的 header php 中 我有以下 css 代码 例如 在我的 i
  • 何时以及为何应使用 $_REQUEST 而不是 $_GET / $_POST / $_COOKIE?

    标题中的问题 当所有 3 个都发生时会发生什么 GET foo POST foo and COOKIE foo exist 其中哪一个被包含到 REQUEST 我想说永远不会 如果我想通过各种方法设置某些内容 我会为每个方法编写代码以提醒自
  • 从命令行运行 PHP 脚本

    如何使用用于解析 Web 脚本的 PHP 解释器从命令行运行 PHP 脚本 我有一个phpinfo php从网络访问的文件显示German已安装 但是 如果我运行phpinfo php从命令行使用 php phpinfo php and g
  • Laravel 集合 .each() + array_push

    需要有关 Laravel 上 each 方法内的 array push 的帮助 我无法在此代码上获取容器数组 imagesData array collect data images gt each function v k use ima
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何在 Laravel 中创建一条包罗万象的路线

    我需要一个 Laravelroutes php将捕获所有流量到特定的条目example com premium section网站 以便我可以提示人们在访问优质内容之前成为会员 您还可以通过在参数上使用正则表达式来捕获 全部 Route g
  • SQL 大表中的随机行(使用 where 子句)

    我有一个网站 人们可以在其中对汽车进行投票 向用户展示 4 辆汽车 他 她可以投票选出他们最喜欢的汽车 桌子cars有重要的列 car id int 10 not auto increment so has gaps views int 7

随机推荐

  • 在 Java 中构建 SQL 字符串的最简洁方法

    我想构建一个 SQL 字符串来执行数据库操作 更新 删除 插入 选择之类的事情 而不是使用数百万个 和引号的糟糕的字符串连接方法 这充其量是不可读的 有一定是更好的方法 我确实考虑过使用 MessageFormat 但它应该用于用户消息 尽
  • PHP:MySQL 服务器消失了

    我知道这个问题已经被问过很多次了 但我已经尝试了一切 我有一个 PHP 脚本 它会迭代数千个图像 根据需要执行调整大小 然后插入数据库 我收到此错误消息 警告 mysql query function mysql query MySQL 服
  • 后置和前置增量运算符

    当我运行以下示例时 我得到输出 0 2 1 class ZiggyTest2 static int f1 int i System out print i return 0 public static void main String ar
  • Android 中的 TTS 暂停

    我正在开发一个应用程序 它可以读出文档中的文本 我想添加暂停和恢复功能 但我在 TTS 中找不到任何暂停 方法 有什么办法可以让我暂停吗 有一个方法可以暂停 只需致电TextToSpeech playSilence 请参阅下面的代码here
  • 跨源请求被阻止 Spring REST 服务 + AJAX

    无法调用spring REST服务 我的春季服务 RequestMapping value MAS authenticate method RequestMethod POST public ResponseEntity
  • 将掩码应用于字符串

    我正在从表中读取字符串 ID 值 当用户输入 ID 时 是使用用户定义的输入掩码完成的 因此掩码可能类似于000 00 0000 AA 9999999等 掩码会因用户而异 因此必须在运行时进行评估 鉴于表中仅存储字母数字文本 那么应用该掩码
  • 如何删除 Logstash 过滤器中所有具有 NULL 值的字段

    我正在使用 Logstash 读取 csv 格式的检查点日志文件 并且某些字段具有空值 我想删除所有具有空值的字段 我无法准确预见哪些字段 键 将具有空值 因为我的 csv 文件中有 150 列 并且我不想检查其中的每一列 是否可以在log
  • 如何按特定字段对 Spark DataFrame 中的结构类型数组进行排序?

    给出以下代码 import java sql Date import org apache spark sql SparkSession import org apache spark sql functions object SortQu
  • 在 LLDB 调试器中显示变量属性的值?

    我正在使用 Log Message 操作的断点 并且我想打印 NSIndexPath 的行 所以我尝试 cell row indexPath row 但什么也没有打印出来 我还尝试使用调试器命令 expr void NSLog indexP
  • psql:无法将主机名“somePostgres”转换为地址:名称或服务未知

    我正在 docker 中构建 java spring mvc 应用程序 并且 dokefile 构建涉及与 postgres 容器交互 每当我跑步时docker compose updockerfile 中与 postrges 交互的步骤有
  • 使用 lift-json 将 Json 值提取为 Map

    lift json 的文档表明我应该能够调用 values 来获取当前的 JObject 结构作为普通的 Scala Map 这种方法对我来说不起作用 因为 值 的返回类型是 json Values 而不是示例所示的 Map 我究竟做错了什
  • 运算符“>=”不能应用于“string”和“string”类型的操作数

    我在 C 中使用实体框架 我的代码是 var result ef services Where entry gt entry tarikhservice gt textBoxX1 Text entry tarikhservice lt te
  • AWS Athena (Presto) OFFSET 支持

    我想知道 AWS Athena 是否支持 OFFSET 对于 mysql 以下查询正在运行 但在 athena 中它给了我错误 任何例子都会有帮助 从员工中选择 其中 empSal gt 3000 LIMIT 300 OFFSET 20 A
  • 如何自定义 Hibernate @Size 错误消息以指示输入字段的长度

    我想自定义文本字段的错误消息以包含输入的实际字符数 我已经能够做到这一点 但对我的解决方案不满意 所以我想知道其他人做了什么来实现这一目标 春季4 1 2 休眠4 3 10 休眠验证器 5 1 3 字段注释 出于测试目的 仅限 10 个 实
  • 应用程序在 CoreData 保存时冻结

    我有一个 iPhone 应用程序 在保存 CoreData 时有时会冻结 然后不会重新启动 我确实有第二个线程使用数据库 但我认为我已经遵循该模式为该线程创建单独的上下文 这是重新启动后的崩溃报告 有任何想法吗 我尝试将其更改为仅使用一个线
  • Android OpenGL ES 2.0 内存中仅限制 16 个纹理?

    基本上 当我在 Android Studio 中使用 OpenGL ES 2 0 开发应用程序时 我遇到了一个无法解决的大问题 并且它已经困扰我大约一周了 因此 每当我在内存中加载超过 16 个 可能是 17 个任意大小的纹理 并尝试通过
  • iomanip 函数是如何实现的?

    一些标准iomanip函数带有一个参数 我想知道这是如何实现的 例如 我可以用函数做类似的事情吗 这确实是我需要的解决方案这个答案 但我不知道该怎么做 当我查找定义时setw函数例如在http en cppreference com它将返回
  • 多个下拉按钮 – 一次只能打开一个(JS/jQuery)

    我一直在尝试创建两个语言选择下拉按钮 我成功使用了这个 W3Schools 模板 然而 这个解决方案有两个缺点 1 您需要 每个下拉按钮一个脚本或对该脚本的修改 2 你可以同时打开两个下拉按钮 这是我不想要的 我找到了类似问题的解决方案he
  • Visual Studio 中 Ajax 和 JavaScript 库的 IntelliSense

    我知道使用 vsdoc js 文件智能感知 并且 jQuery 的那个很容易找到 还有哪些其他 JavaScript Ajax 和 DHTML 库拥有这些文件 在哪里可以找到这些文件 另外 是否有一个文档概述了 vsdoc js 文件的规范
  • 取消设置会话变量时出现问题

    我的网站上有一个用于邀请朋友的表格 这是一个简单的文本字段和一个提交按钮 如果出现错误 我会重定向回此页面并显示错误消息 如果它们是会话变量集 if isset SESSION invite error echo SESSION invit