簡體   English   中英

來自數據庫的MySQLI PHP會話

[英]MySQLI PHP Session from database

我正在做一個A Level計算項目,我想使用存儲在數據庫中的studentID創建會話,以便顯示與用戶有關的信息。

我可以使用數據庫中的其他字段來執行此操作,但不能使用StudentID字段(我需要使用該字段,因為它是我用來鏈接要顯示其信息的表的外鍵)。

有人可以查看我所做的事情,看看我做錯了什么嗎? 該代碼可能不是最好的,但是我對所有這些都是新手。

<?php
session_start();
$con = mysqli_connect("localhost","root","","archtenapply");
if (mysqli_connect_errno()) {
    echo "MySQLi Connection was not established: " . mysqli_connect_error();
}
if(isset($_POST['login'])){
    $email = $_POST['email'];
    $pass = md5($_POST['pass']);
    $sql= "SELECT studentID FROM loginfo WHERE email ='$email' AND password= '$pass'";
    $run_user = mysqli_query($con, $sql);
    $check_user = mysqli_num_rows($run_user);
    if($check_user>0){
        $_SESSION['studentid'] = $row{'studentID'};
        header("location: ../pages/hub.php");
    }else {
        header("location: ../errors/incorrectlogin.php");
    }

}
?>

任何幫助深表感謝!

請參閱代碼中的一行代碼,該代碼實際上獲得了您要查詢的行以及數組語法更正(感謝@ Fred-ii-)。

<?php
session_start();
$con = mysqli_connect("localhost","root","","archtenapply");
if (mysqli_connect_errno()) {
    echo "MySQLi Connection was not established: " . mysqli_connect_error();
}
if(isset($_POST['login'])){
    $email = $_POST['email'];
    $pass = md5($_POST['pass']); // ***See note***
    $sql= "SELECT studentID FROM loginfo WHERE email ='$email' AND password= '$pass'";
    $run_user = mysqli_query($con, $sql);
    $check_user = mysqli_num_rows($run_user);
    if($check_user>0){

        // this get the result of the query as an assoc array into $row
        $row = mysqli_fetch_assoc($run_user);

        // also fixed array syntax
        $_SESSION['studentid'] = $row['studentID'];
        header("location: ../pages/hub.php");
    }else {
        header("location: ../errors/incorrectlogin.php");
    }

}
?>

注意

PHP現在有一些更好的哈希密碼方法, 請參見手冊

使用MD5對密碼進行散列不再是一種安全的方法。

建議使用CRYPT_BLOWFISH或PHP 5.5的password_hash()函數。 對於PHP <5.5,使用password_hash() compatibility pack

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM