如何在PHP中的$ _SESSION中保存值并检索

时间:2015-12-18 06:17:06

标签: php database

我想在登录后显示usermail,登录后的页面应显示“Welcome alex01@gmail.com” 我的登录页面php代码是

<?php
if(isset($_POST['submit']))
{
    $host="localhost";
    $user="root";
    $pass="";
    $db="documentation";
    $usermail=$_POST['email'];
    $password=$_POST['password'];

    $conn=mysqli_connect($host,$user,$pass,$db);
    $query="SELECT * FROM users where
    user_mail='$usermail' and password='$password'";
    $result=mysqli_query($conn,$query);
    if(mysqli_num_rows($result)==1)
    {
        session_start();
        $_SESSION['documentation']='true';
        $_SESSION['user_mail']=$_POST['email'];
        header('location:index.php');
    }
    else{echo 'wrong username or password';}

}
?>

我的index.php的代码(登录后用户看到的页面)

<?php
session_start();
$_SESSION['user_mail']=$_POST['email'];
if(!$_SESSION['documentation'])
{
    header('location:login.php');
}
?>

我正在尝试通过

保存usermail
$_SESSION['user_mail']=$_POST['email'];

我试图通过编写

来检索index.php中的值
$_SESSION['user_mail']=$_POST['email'];

但它没有显示用户名

5 个答案:

答案 0 :(得分:1)

在您的index.php页面中,像这样;

 $usermail = $_SESSION['user_mail']; 
 echo $usermail;

答案 1 :(得分:1)

echo $_SESSION['user_mail'];

检索会话

答案 2 :(得分:1)

显示会话数据,只需写

echo $_SESSION['user_mail'];

还要确保在使用会话的页面上启动会话。

答案 3 :(得分:0)

您正在使用$ _POST [&#39; email]覆盖索引页中$ _SESSION [&#39; user_mail]的值。问题是$ _POST [&#39; email&#39;]没有在索引页面上设置,它只在登录页面上设置。

所以在index.php页面上你只需要

echo $_SESSION['user_mail'];

$var = $_SESSION['user_mail']; echo $var;

答案 4 :(得分:0)

对于保存在会话变量中: -

$usermail = $_SESSION['user_mail'];

并在同一页面中显示。

echo $usermail;

在其他页面中: -

//first start session
session_start();
echo $_SESSION["username"];
//or 
session_start();
$loginname=$_SESSION["username"];
echo $loginname;

请确保在正在使用会话的页面上启动会话。