【发布时间】:2016-12-01 02:55:54
【问题描述】:
我有 2 个 php 页面,一个用于登录表单,第二个用于内容。
当用户点击提交按钮,页面会重定向到另一个页面,session的值丢失,并在第2页显示Undefined index错误。
登录.php
session_start();
if(isset($_POST['submit'])){
if(!($_POST['name'] == '' && $_POST['birth'] == '')){
$name = $_POST['name'];
$birth= $_POST['birth_Y'].'-'.$_POST['birth_M'].'-'.$_POST['birth_D'];
$_SESSION["birth"]=$birth;
$_SESSION["name"]=$name;
}
}
$var = (strlen($birth)>0 && strlen($_POST['name'])>0);
if($var){
echo("<script>location.href = '/page/details/';</script>");
exit();
}
第二页: 这是显示错误的行(未定义的索引:姓名和出生)
session_start();
$url = 'http://example.com/folder/test.php?service=123455566666&submit=Data&name='.$_SESSION["name"].'&birth='.$_SESSION["birth"].'';
【问题讨论】:
-
它不起作用,因为你放了!在 if 条件下,它不会进入该块并且不会创建会话
-
@FaranAli,即使我删除了 !如果会话仍然没有保存
-
首先你没有在第一页设置 $_SESSION["name"],那么你将如何在第二页得到它?
-
@user3782114 它在 $_POST submit 中定义
-
我没有在你的代码中看到它,你得到的错误与 error_reporting 有关,打开你的 php.ini 文件搜索 error_reporting 用 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 替换值,然后重启服务器
标签: php session undefined session-variables