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

$_SESSION['error']消息无法显示问题求助

问题排查与修复

1. PHP标签语法错误

你的register.php里的PHP起始标签写成了<? php(中间有空格),这是无效的PHP标签,会导致这段代码被当作纯文本输出,无法执行require_once 'php.php';,也就没法启动session,自然读取不到$_SESSION['error']。

修复:
把<? php改成<?php(去掉中间空格):

<?php
require_once 'php.php';
?>

2. 表单提交目标与处理逻辑不匹配

你的表单action设置为about.php,但表单提交的处理逻辑写在php.php里。如果about.php没有引入php.php,点击提交按钮后,处理代码根本不会运行,也就不会设置$_SESSION['error']并跳转回register.php。

修复方案二选一:

  • 修改表单的action为php.php,让提交直接指向处理逻辑文件:
<form action="php.php" method="post" enctype="multipart/form-data">
  • 或者在about.php顶部引入php.php,确保处理逻辑能执行:
<?php
require_once 'php.php';
?>

3. 额外验证点

  • 确认php.php里的session_start()没有在任何输出之后调用(目前你的代码是开头就调用,没问题)。
  • 可以在register.php的session判断代码前临时添加var_dump($_SESSION);,查看session的实际内容,确认error是否真的存在:
<div><?php 
var_dump($_SESSION); // 临时测试用,确认后可删除
if ( isset($_SESSION['error']) ) {
    echo '<p style="color:red">'.$_SESSION['error']."</p>\n";
    unset($_SESSION['error']);
}
// 其余代码
?>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:48:19