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