检查SQL数据库以查找密码匹配当前所选的HTML选项用户名[重复]

问题描述 投票:-2回答:1

我有一个简单的申请表。

我有一个下拉列表,用于选择已经在SQL数据库中的用户。

然后有一个密码字段供他们输入密码,并在下拉菜单中让他们选择要注册的课程,然后单击提交按钮。

我正在尝试检查提交的用户名是否与输入的密码匹配。

这是我无法使用的部分代码。 (它连接到数据库并正确读取用户)。

PHP

if(isset($_POST['submit'])){ 

    $query = "SELECT * FROM student WHERE Student_FirstName = 'fname' "; // Trying to pull 'fname' from html <select> below
    $result = mysqli_query($connection,$query);
    if(!$result){
        die('query failed' . mysqli_error());
    }

    while($row = mysqli_fetch_assoc($result)){
         $id = $row['Student_Password'];
         echo $id;
    }
}

HTML

<h1>Apply For Certification</h1>
    <div class = "col-sm-6">
        <form action="certapply.php" method ="post">
            <div class="form-group">
                <label for="id">Name</label>
                <br>
                <select name = "fname" id = "fname">
<?php 
    showUsers();
?>
                </select> 
            </div>
php mysql forms function
1个回答
-2
投票

请确保您没有遇到SQL注入。这将是一个开始:

if (isset($_POST['submit'])) {
    $fname = $_POST['fname'] ?? '';
    $stmt = $mysqli->prepare("SELECT * FROM student WHERE Student_FirstName = ? ");
    $stmt->bind_param('s', $fname);
    $stmt->execute();
    $result = $stmt->get_result();
    if (!$result) {
        die('query failed' . mysqli_error());
    }

    while ($row = mysqli_fetch_assoc($result)) {
        $id = $row['Student_Password'];
        echo $id;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.