PHP $ _SESSION [变量]在下一页没有获得价值

时间:2013-07-27 13:14:03

标签: php session-variables

这是一个登录表单,当用户名/密码与数据库值匹配时,我们将其重定向到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

此表单显示登录和会话启动的用户的欢迎消息。在下面的代码中,我无法使用欢迎字符串获取$ _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");
}
?>

1 个答案:

答案 0 :(得分:3)

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