PHP$_SESSION[variable]在下一页上未获取值


PHP $_SESSION[variable] is not getting value on next page

这是一个登录表单,当用户名/密码与数据库值匹配时,我们将从该表单重定向到Login_success.php页面。

Checklogin.php

<?php
include 'config.php';
// username and password sent from form
$myusername=$_POST['email'];
$mypassword=$_POST['password'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM drsignup WHERE email='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
$_SESSION['email']=$myusername;
$_SESSION['password']=$mypassword;
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>

Login_success.php

此表单显示登录并启动会话的用户的欢迎消息。在下面的代码中,我无法使用Welcome字符串获取$_SESSION['email']值,并显示未定义的索引电子邮件。

我试图从session_id()中收集session_id;函数,给出类似e9ubrn9v239o60tfalag6e6kt4的值。请让我知道为什么我不能在这里获得电子邮件id。如何将会话变量存储在我的全php页面上。

<?php
session_start();
echo  session_id();
SESSION_WRITE_CLOSE();
if(isset ($_SESSION['email']))
{
echo "Welcome $_SESSION['email']";
}
else
{
header("location:Drlogin.php");
}
?>

您需要在Checklogin.php中添加session_start()。您需要在每个使用会话的页面上启动会话。