代码之家  ›  专栏  ›  技术社区  ›  A. Shawkat

获取请求不起作用

  •  -2
  • A. Shawkat  · 技术社区  · 7 年前

    我有一个使用MySQL查询服务器数据的表单。我正在使用一个发送get请求的表单。它没有显示任何东西,我也不知道为什么。我很奇怪,因为我的查询是有效的,我在PHPmyadmin上测试了它。。我不仅仅是在寻求答案,我想知道为什么会发生这种情况,以及背后的原因是什么。 这是我的代码:

    <form name="get" action="Roster.php" method="get">
        <select name="course" id="course">
            <?php
            $get = mysqli_query($con, "SELECT teaching.Course_ID FROM `teaching` WHERE teaching.F_ID=213000000 ");
    
            while ($row = mysqli_fetch_assoc($get)) {
                echo '<option value ="' . $row["Course_ID"] . '"> ' . $row["Course_ID"] . ' </option>';
            }
            ?>
    
        </select>
    
        <select name="group">
            <?php
            $get = mysqli_query($con, "SELECT `Group_ID` FROM `teaching` WHERE `teaching`.F_ID= 213000000");
    
            while ($row = mysqli_fetch_array($get)) {
                echo '<option value ="' . $row["Group_ID"] . '"> ' . $row["Group_ID"] . ' </option>';
            }
            ?>
    
        </select>
        <date-util format="yyyy-mm-dd">
            <label for="Date" > Date  </label><input id="meeting" name="date" type="date"  />    
        </date-util>
    
    
    
        <input type="submit" name="Send" value="Get"/>
    </form>
    <?php
    if ($_GET['submit']) {
        $sql = " SELECT enrollment.S_ID,student.ID,student.F_Name,student.L_name,attendance.Status,attendance.Date
                        From enrollment
                        INNER JOIN student On enrollment.S_ID
                        INNER JOIN attendance On enrollment.S_ID
                        where enrollment.Course_ID =" . $_GET["course"] . "and enrollment.Group_ID =" . $_GET["group"] . "and attendance.date =" . $_GET["date"] . " ";
        $result = mysqli_query($con, $sql);
        $message = "Please Choose Course_ID and Group_ID ";
        if ($result > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
                echo "Hello";
                echo "<tr>";
                echo '<td>' . $row['ID'] . '</td>';
                echo '<td>' . $row['F_Name'] . " " . $row['L.name'] . '</td>';
                echo '<td>' . $row['Date'] . '</td>';
                echo '<td>' . $row['Status'] . '</td>';
                echo "</tr>";
            }
        } else {
            echo "<tr>";
            echo '<td>' . $message . '</td>';
        }
    }
    ?>
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Rotimi    7 年前

    $_GET['submit'] 不存在。您需要添加 submit 作为按钮的名称属性

    <input type="submit" name="submit" value="Get"/>
    

    您还应该使用 prepared statements 防止SQL注入攻击。