如何在发布前更新用户输入的表单

cnwbcb6i  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(350)

我试图让用户从复选框中选择,然后向他显示正确的列表。
这是我的密码:

qualification: <select name="qualification">
    <option value="ET">ET</option>
    <option value="TM">TM</option>
</select><br> 
current registration: <input type="checkbox" name="classRegular" value="RegularClass">Regular Class<br>
    <input type="checkbox" name="classTaahdoh" value="Taahdoh">Taahdoh<br>

    <?php
    $selectedQualification = $_POST['qualification'];  // Storing Selected Value In Variable

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

      if ( $selectedQualification == "ET") {
        echo 'Class: <select name="regularClass">';
        $sql = "SELECT idClass FROM Class Where category = 'ET' ";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
          //output data of each row in dropdown list
          while($row = $result->fetch_assoc()) {
            echo "<option value='{".$d['idClass']."}'>".$d['idClass']."</option>";
          }
        } else {
          echo '0 results';
        }
    ?>

在用户检查类的类型后,它不会显示列表,是因为我用'post'检查了吗?我还能做什么?
需要帮忙吗?

8yparm6h

8yparm6h1#

如果要在用户检查类的类型后显示列表,请删除

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

如果代码被阻塞。然后每次都会显示答案列表。

beq87vna

beq87vna2#

1.无法将结果发送到页面,除非使用提交按钮或ajax
2.与数据库没有连接。
所以加上这样的代码:

<?php

define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'yourpassword');
define('DB_NAME', 'yourwebsite');

/* Attempt to connect to MySQL database */
try{
    $pdo = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME, DB_USERNAME, DB_PASSWORD);
    // Set the PDO error mode to exception
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("ERROR: Could not connect. " . $e->getMessage());
}
?>

此外,还使用了prepared statements.yes您没有直接接受user inpuit,但是恶意用户仍然可以检查页面并将选项的值更改为危险值

相关问题