获取请求无效

时间:2018-04-19 18:46:59

标签: php web-applications get

我有一个表单,使用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 个答案:

答案 0 :(得分:0)

$_GET['submit']不存在。您需要将submit作为名称属性添加到按钮中,如此

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

此外,您应该使用prepared statements来防止SQL注入攻击。