php - sql,使用$ _session

时间:2018-02-01 08:40:08

标签: php sql session login-control

我尝试从登录页面登录后在$ _session中分配用户ID。 我在这里阅读了很多帖子,但我可以了解它的工作原理。

Here is my db structure

这是我的login.php

代码
<?php
session_start(); //Έναρξη session
require_once('connect.php'); //καλώ το αρχείο
//Τι γίνετε όταν submitted η φόρμα
if(isset($_POST) & !empty($_POST)){

//Αναθέση τιμών μεταβλητών από τα inputs
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = md5($_POST['password']);

//Έλεγχος αν υπάρχουν τα στοιχεία σύνδεσης στην βάση
$sql = "SELECT * FROM `usermanagement` WHERE username ='$username' AND password='$password'";

$result = mysqli_query($connection, $sql);
$count = mysqli_num_rows($result);
if($count == 1){
    $_SESSION['username'] = $username;
    $_SESSION['UserId'] = $userid; // <-trying to determine this variable
}else{
    $fmsg = "Λάθος Όνομα Χρήστη ή Κωδικό χρήστη. ";
}
}
?>

我看到$_SESSION['username'] = $username;,但我不知道如何为$_SESSION['userid'] = $userId;

做类似的事情

有任何帮助吗?甚至是链接。

1 个答案:

答案 0 :(得分:-1)

您需要从sql查询中获取结果并使用它来获取userid

if( $count == 1 ){

    /* there is a recordset so fetch into as array */
    $row=mysqli_fetch_assoc( $result );

    /* extract the required variables from recordset array */
    $userid=$row['userid'];

    $_SESSION['username'] = $username;
    $_SESSION['UserId'] = $userid; // <-this variable should now exist

}else{
    $fmsg = "Λάθος Όνομα Χρήστη ή Κωδικό χρήστη. ";
}