从当前PHP会话获取用户名


Get username from current PHP Session

我是新的PHP和我试图创建一个成员登录。我用这个代码块支付,我很好奇,想知道如何从当前会话中获得用户名或uid,以便我可以通过用户名欢迎用户。

<?php
session_start();
include 'db.php';
$uid = $_POST['uid'];
$pwd = $_POST['pwd'];
$sql = "SELECT * FROM users WHERE uid='$uid' AND pwd='$pwd'";
$result = mysqli_query($conn, $sql);
if (!$row == mysqli_fetch_assoc($result)) {
    echo "Your username or password is incorrect.";
} else {
    $_SESSION['id'] = !$row['$id'];
}
header("Location: index.php");

我尝试了这个if语句来显示用户名,但它根本没有显示结果。我的想法是,如果该语句显示用户的ID,同一行将获得uid,但这是不工作。

if (!$row == mysqli_fetch_assoc($result)) {
    echo "Your username or password is incorrect.";
} else {
    $_SESSION['id'] = !$row['$id'];
    $_SESSION['uid'] = !$row['$uid'];
}
if (!$row == mysqli_fetch_assoc($result)) {

你试图检查是否至少有一个结果是错误的,有一个内置的函数mysqli_num_rows()你的代码应该看起来像:

if(mysqli_num_rows($result) > 0 ) { // this line means if there is at least one result
 // set your session here
  $row = mysqli_fetch_assoc($result);
  $_SESSION['id'] = $row['id'];
  $_SESSION['uid'] = $row['uid'];
} else {
 // print your error message here
}

在你的主页上,你可以使用下面的代码使用你的会话uid说Hello用户

/////////////下面的索引页面代码///////////////////////

//不要忘记在PHP标签后的第一行开始会话

<?php 
session_start();
echo 'Hello'.' '.$_SESSION['uid'];

既然你是php新手,你应该了解什么是!

& # 33;用于检查引用语句是否为false,例如

if( 1!=2){
    echo 'not equal';
  }
上面的语句将输出not equal