【发布时间】:2017-12-15 15:42:28
【问题描述】:
我正在使用会话变量将用户的详细信息从登录页面发送到欢迎页面。
这是我的代码:
<?php
if(isset($_POST['login']))
{
$email=$_POST['email'];
$pass=md5($_POST['password']);
$a="SELECT * FROM users WHERE email='$email'AND password='$pass'";
$log=mysqli_query($con,$a);
$row=mysqli_fetch_array($log);
if(mysqli_num_rows($log)>0){
$_SESSION['firstname']=$row['first_name'];
$_SESSION['lastname']=$row['last_name'];
header("location:welcome.php");
exit;
}
else{
$er="login failed!";
}
}
关于 Welcome.php
<h2>WELCOME : <?php echo $_SESSION['firstname'];?></h2> <--- line 63-->
但我收到此错误:
注意:未定义的索引:firstname in C:\xampp\htdocs\website\welcome.php 在第 63 行
PS:请不要将其标记为重复我尝试了许多解决方案但没有帮助。我使用了 session_start();在每一页上。
【问题讨论】:
-
您是否尝试过同时将 session_start() 放在两个文件的顶部?
-
检查在welcome.php 页面上打印的会话数组。 print_r($_SESSION);
-
不,我包含了 session_start();在 header.php 中并将其包含在所有页面中。
-
Array ( [username] => basiclearner [session] => mc7dvh7u6n232dc23ipb6l4bok ) 这是我在欢迎时使用 print_r($_SESSION) 得到的 .php basiclearner 是我使用的名称,但它一直给我到处都是同一个名字。
-
我建议你在设置好名字和姓氏之后和重定向之前检查会话。