无法从数据库中获取数据

丽莎

在我的网站上,我想转到特定页面(例如:Challenge.php?challenge_id = 4)。该数字来自具有功能的数据库,当我登录时,我想使用以下内容转到该页面:

header("Location: challenge.php?challenge_id=" . $current_cid . "" ); 

但是问题在于他没有在网址中输入数字吗?

$current_cid =我正在使用以下函数检索此数字: getUserInfoByEmail1();

D B:

if(!empty($_POST["btnSignin"]))
    {
        try
        {

            $user = new User();
            $user->Email = $_POST["email"];
            $user->Password = $_POST["password"];
            $u_email = $user->getUserInfoByEmail1($user->Email);
            $current_cid = $u_email['current_challenge_id'];
            var_dump($current_cid);
            $user->Login($current_cid);

        }
        catch(Exception $e)
        {
            $feedback = $e->getMessage();
        }
    }

public function getUserInfoByEmail1($email)
{
    $db = new Db();
    $select = "SELECT * FROM tblusers WHERE email = '" . $_SESSION["email"] . "';";
    $result = $db->conn->query($select);
    return $data=mysqli_fetch_assoc($result);
}

    public function Login($current_cid)
    {

        $salt = "ab4p73wo5n3ig247xb1w9r";
        $db = new Db();
        $select = "SELECT * FROM tblusers WHERE email = '" . $db->conn->real_escape_string($this->Email) .
                  "' AND password = '" . $db->conn->real_escape_string(md5($this->Password . $salt)) . "';";
        $result = $db->conn->query($select);
        if($result->num_rows == 1)
        {
            // logged in, naam session ophalen en je schermt springt door naar challenge.php
            session_start();
            $_SESSION["loggedin"] = true;
            $_SESSION["name"] = $this->Name;
            $_SESSION["surname"] = $this->Surname;
            $_SESSION["email"] = $this->Email;
            var_dump($current_cid);     
        header("Location: challenge.php?challenge_id=" . $current_cid . "" );

        //header("Location: challenge.php?challenge_id=1" );

        }
        else
        {
            throw new Exception("Please enter correct username and password");
        }
    }
马尔辛·纳比亚列克(MarcinNabiałek)

您应该更改功能:

public function getUserInfoByEmail1($email)
{
    $db = new Db();
    $select = "SELECT * FROM tblusers WHERE email = '" . $_SESSION["email"] . "';";
    $result = $db->conn->query($select);
    return $data=mysqli_fetch_assoc($result);
}

进入:

public function getUserInfoByEmail1($email)
{
    $db = new Db();
    $select = "SELECT * FROM tblusers WHERE email = '" . $email . "';";
    $result = $db->conn->query($select);
    return mysqli_fetch_assoc($result);
}

而不是使用函数参数($ email),而是使用$ _SESSION ['email']

您还应该添加mysqli_real_escape_string来防止SQL注入。您还应该考虑为什么将数据库对象与mysqli_fetch_assoc混合使用。您可能应该使用Db方法或mysqli函数,现在将它们混合在一起并不是对应用程序进行编码的最佳方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从数据库中获取图像

来自分类Dev

无法获取数据库

来自分类Dev

无法从Firestore数据库中获取数据

来自分类Dev

我无法从 Firebase 数据库中获取数据

来自分类Dev

连接正确时无法从数据库中获取数据

来自分类Dev

CodeIgniter:无法从数据库获取数据

来自分类Dev

无法从MySQLdb数据库获取数据

来自分类Dev

无法从PHP中的数据库获取值

来自分类Dev

无法从存储在数据库中的json获取值

来自分类Dev

dd函数无法从数据库中获取内容

来自分类Dev

我无法从数据库中获取总金额

来自分类Dev

无法从存储在数据库中的json获取值

来自分类Dev

无法从Android中的数据库获取正确的ID

来自分类Dev

无法按日期从数据库中获取记录

来自分类Dev

无法从 firebase 数据库中获取数组值

来自分类Dev

无法从 Firebase 数据库中获取值

来自分类Dev

PDO 无法在 SQL 查询中获取数据库名称

来自分类Dev

表单无法从数据库中获取全文

来自分类Dev

从数据库中的表获取数据

来自分类Dev

从UserSpice中的数据库获取数据

来自分类Dev

如何从数据库中获取数据?

来自分类Dev

从UserSpice中的数据库获取数据

来自分类Dev

PHP从数据库中获取数据

来自分类Dev

从FMDB数据库中获取数据

来自分类Dev

无法显示数据库中的数据

来自分类Dev

无法从数据库中检索数据

来自分类Dev

无法从Wordpress数据库获取parmalink

来自分类Dev

QSqlQueryModel无法从数据库获取时间

来自分类Dev

无法从数据库获取结果