gpt4 book ai didi

php - 重定向不适用于 Header(Location) 和 session 变量

转载 作者:行者123 更新时间:2023-12-02 07:07:32 25 4
gpt4 key购买 nike

1: 我使用 register.php 注册客户端,

2:将表单收集的数据发送到1.php,保存在数据库中

3:表单数据存入数据库后,1.php将选中的表单数据(myValue)转发给register.php?myValue='abc'

在 1.php 中,我正在保存这样一个 session 变量

@session_start();
$_SESSION['color']='blue';

register.php的代码是

 if (isset($_SESSION['color'])) {
header('Location: http://mydomain.com/thankyou.php');
}
else {


@session_start();
some other stuff that was initially use for signing up the clients

我的逻辑是检查 session 变量并将其重定向到其他页面

when step 1 , step 2 and step 3 are complete, page should be redirected to thankyou.php

目前,当第一步、第二步、第三步完成后,不是打开thankyou.php,而是打开下面的页面

http://mydomain.com/register.php?myValue='abc'

但是,如果我重新打开 register.php 或返回到第一步(打开 register.php),则会显示 thankyou.php...

有人可以指导我哪里犯了错误吗?尽管正在创建 session 变量,但为什么重定向不成功?

代码更新

我在 register.php 的顶部尝试了以下代码

@session_start();


if (isset($_SESSION['color'])) {
header('Location:http://mydomain.com/thankyou.php');
exit;
}
else{
remaining stuff

它偶尔会成功,重定向到页面,而有时(数量更多),它无法重定向到 thankyou.php,而且代码需要删除完整的历史记录和缓存才能工作(这样做之后,仍然会发生未命中..)

最佳答案

确保使用 exit(0);在你做一个标题重定向之后,否则 php 仍然会解析并运行你的脚本的其余部分,有时它会导致一些有趣的行为。

关于php - 重定向不适用于 Header(Location) 和 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9366343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com