You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP重定向无法加载链接问题求助

问题分析与解决方案

先把你的两个PHP文件代码整理出来,方便排查:

<?php 
session_start(); 
$link=$_GET['redirect']; 
if ($link == '1'){ 
    $_SESSION['link'] = 'https://www.google.com/'; 
    header('Location: selection_handler.php'); 
    exit; 
} 
if ($link == '2'){ 
    $_SESSION['link'] = 'https://www.facebook.com/'; 
    header('Location: selection_handler.php'); 
    exit; 
} 
if ($link == '3'){ 
    $_SESSION['link'] = 'https://www.twitter.com/'; 
    header('Location: selection_handler.php'); 
    exit; 
} 
?>

selection_handler.php

<?php 
session_start(); 
$link= $_SESSION['link']; 
if(isset($_SESSION['user_id'])) { 
    header("Location: " .$link); 
    exit; 
} else { 
    echo $_SESSION['link']; 
} 
?>

你遇到的跳转后空白问题,大概率是这几个常见坑导致的,我给你一步步梳理解决:

1. 检查文件是否存在意外输出(最常见原因)

HTTP跳转头(Location)要求必须在任何内容输出之前发送,哪怕是<?php标签前的一个空格、换行,或者UTF-8文件自带的BOM头(三个隐藏字符),都会破坏头信息的发送,最终导致跳转失败、页面空白。

  • 打开两个PHP文件,确保<?php是文件的第一个字符,前面没有任何空格、换行或其他字符;
  • 把文件编码改成UTF-8无BOM(VS Code右下角可直接切换,Notepad++选「编码」→「UTF-8无BOM」)。

2. 修复header的错误写法

你提到测试时把header改成了带<a>标签的格式,这完全错了!Location头只需要纯URL字符串,不需要任何HTML标签。正确写法应该是:

header("Location: https://www.google.com");

3. 开启错误提示快速定位问题

在selection_handler.php的最顶部加上错误排查代码,这样能直接看到脚本的错误信息,不用瞎猜:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
// 后续代码...
?>

4. 确认session是否正常工作

可以在跳转前临时打印$_SESSION的内容,看看user_id和link是否正确存储:

var_dump($_SESSION); // 测试完成后记得删掉这行

如果user_id没正确存入session,或者link丢失,也会导致逻辑异常。

按照这几步排查,基本能解决跳转空白的问题。

内容的提问来源于stack exchange,提问作者zoenightshade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:38:45