Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在登录后从登录页面获取会话信息?_Php - Fatal编程技术网

Php 如何在登录后从登录页面获取会话信息?

Php 如何在登录后从登录页面获取会话信息?,php,Php,我制作了一个login.php页面,但现在我制作了一个index.php页面,页面上有内容。我成功地完成了login.php页面,以便登录正常。我的数据库中有几个用户名和密码。现在的问题是,如何从login.php页面获取会话信息,以便在index.php页面上显示我已登录的会话信息?我想打印出我是以特定用户身份登录的。我还进行了会话。start();在我的login.php代码的顶部 以下是我的index.php代码: <?php session_st

我制作了一个login.php页面,但现在我制作了一个index.php页面,页面上有内容。我成功地完成了login.php页面,以便登录正常。我的数据库中有几个用户名和密码。现在的问题是,如何从login.php页面获取会话信息,以便在index.php页面上显示我已登录的会话信息?我想打印出我是以特定用户身份登录的。我还进行了会话。start();在我的login.php代码的顶部

以下是我的index.php代码:

  <?php
                session_start();
                if(!session_is_registered(`name`))
                {
                  header("location: login.php");
                }
              $user = session_is_registered(`name`);
                $pass = session_is_registered(`pwd`);

              echo "<h3>" . $user . "</h3>";
          ?> 

我会使用issetempty: 例如:

数组\u密钥\u存在是使用isset检查密钥的一个很好的替代方法:

session_start();
if(array_key_exists('blah',$_SESSION) && !empty($_SESSION['blah'])) {
    echo 'Set and not empty, and no undefined index error!';
}
登录后,您需要在会话上设置值,以便以后验证是否存在

这应该是您的login.php
this should be your login.php
   <?php
  session_start();
  if(isset($_POST['submit'])){
  include 'you database connectivity file';

  $uname=mysqli_real_escape_string($conn, $_POST['uname']);
  $pass=mysqli_real_escape_string($conn, $_POST['pass']);
  if((empty($uname)) || (empty($pass))){
  header("Location: ../login.php?login=erroremptyform");
  exit();
 }else{
$sql = "select * from table_name where user_name='$uname'";
$result=mysqli_query($conn, $sql);
$resultCheck=mysqli_num_rows($result);
if($resultCheck<1){
  header("Location: ../login.php?login=errornorec");
  exit();
}else{
  if($row = mysqli_fetch_assoc($result)){
  if(base64_encode($pass) == $row['password']){
    //login in the user here
    $array = array(
        'uname' => $row['user_name'],
        'fname' => $row['f_name'],
        'lname' => $row['l_name'],
        'email' => $row['email'],
        'contact' => $row['contact_number'],
        'addrs' => $row['address'],
        'id' => $row['id'],
     );

     $_SESSION['logindetails'] = $array;
    echo "<h3>". $_SESSION['uname']."</h3>";
    header("Location: ../index.php?login=success");

    exit();

  }
  else{
    header("Location: ../login.php?login=errorpassfail");
    exit();
  }
  }
}
 }
}

   else{
    header("Location: ../login.php?login=error");
   }
?>

session\u已注册
返回
true
false
。只需使用
$user=$\u会话['user']请不要空白您的问题。点击“flag”选项,如果您无法删除,请版主将其删除。我尝试了array_key_exists代码,并将单词“blah”更改为“name”,但echo语句不起作用。另外,我是否必须再次将我的数据库凭据放在此页面上?我在login.php页面上有我的数据库凭据,可以访问我的数据库,但我也不确定是否需要在index.php页面上重新访问它。
this should be your login.php
   <?php
  session_start();
  if(isset($_POST['submit'])){
  include 'you database connectivity file';

  $uname=mysqli_real_escape_string($conn, $_POST['uname']);
  $pass=mysqli_real_escape_string($conn, $_POST['pass']);
  if((empty($uname)) || (empty($pass))){
  header("Location: ../login.php?login=erroremptyform");
  exit();
 }else{
$sql = "select * from table_name where user_name='$uname'";
$result=mysqli_query($conn, $sql);
$resultCheck=mysqli_num_rows($result);
if($resultCheck<1){
  header("Location: ../login.php?login=errornorec");
  exit();
}else{
  if($row = mysqli_fetch_assoc($result)){
  if(base64_encode($pass) == $row['password']){
    //login in the user here
    $array = array(
        'uname' => $row['user_name'],
        'fname' => $row['f_name'],
        'lname' => $row['l_name'],
        'email' => $row['email'],
        'contact' => $row['contact_number'],
        'addrs' => $row['address'],
        'id' => $row['id'],
     );

     $_SESSION['logindetails'] = $array;
    echo "<h3>". $_SESSION['uname']."</h3>";
    header("Location: ../index.php?login=success");

    exit();

  }
  else{
    header("Location: ../login.php?login=errorpassfail");
    exit();
  }
  }
}
 }
}

   else{
    header("Location: ../login.php?login=error");
   }
?>