_GET 美元值在编辑页面中无法识别



我有一个简单的 CRUD,除了更新之外,一切都已经在工作了,我似乎无法将 $_GET 值从我的 href 传递到我的更新.php页面。 知道我做错了什么吗?

更新和删除 HREF

<td><a href="update.php?updateid=<?php echo $row['stud_id'];?>">Edit</a></td>
<td><a href="index.php?deleteid=<?php echo $row['stud_id'];?>">Delete</a></td>

更新.php

<?php
    include 'db.php';

    if(isset($_GET['updateid'])){
        $id = $_GET['updateid'];
    }
    $select = "SELECT * FROM student WHERE stud_id='".$id."'";
    $user = selectStud($select);
    if(isset($_POST['up-submit'])){
        $upfname = $_POST['up-fname'];
        $upmname = $_POST['up-mname'];
        $uplname = $_POST['up-lname'];
        $upcourse = $_POST['up-course'];
        $query = "UPDATE student SET stud_fname='".$upfname."',stud_mname='".$upmname.
        "',stud_lname='".$uplname."',stud_course='".$upcourse."' WHERE stud_id='".$id."'";
        $update = updateStud($query);
        if($update){
            echo "<script>alert('Update Success!'); window.location('index.php');</script>";
        }else{
            echo "<script>alert('Update Failed :('); window.location('index.php');</script>";
        }
    }

?>
<form method="POST" action="update.php">
    <input type="text" name="up-fname" placeholder="First Name" autocomplete="off"><br />
    <input type="text" name="up-mname" placeholder="Middle Name" autocomplete="off"><br />
    <input type="text" name="up-lname" placeholder="Last Name" autocomplete="off"><br />
    <label for="course">Course: </label>
    <select name="up-course">
        <option name="up-course" value="BSIT">BSIT</option>
        <option name="up-course" value="BSHM">BSHM</option>
        <option name="up-course" value="BSED">BSED</option>
        <option name="up-course" value="BSMT">BSMT</option>
    </select><br />
    <input type="submit" name="up-submit" value="Save Changes">
</form>

数据库.php

<?php 
    function getConnection(){
        $conn = new PDO("mysql:host=localhost;dbname=preskilltest","root", "");
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $conn;
    }   
    function selectStud($query){
            $pdo = getConnection();
            $stmt = $pdo->query($query);
            return $stmt->fetchAll();
    }
    function insertStud($query){
        $pdo = getConnection();
        $stmt = $pdo->query($query);
        return $stmt;
    }
    function updateStud($query){
        $pdo = getConnection();
        $stmt = $pdo->prepare($query);
        return $stmt->execute();
    }

?>

由于在发送 POST 请求(表单)时无法访问 GET 参数 (URL),因此您需要在表单中嵌入 GET 参数。

因此,请在表单中添加以下内容:

<input type="hidden" name="updateid" value="<?php echo $id; ?>>

并在服务器端的代码上有以下内容:

 if(isset($_POST['up-submit'])){
        $id = $_POST['updateid']; //add this.

最新更新