使用控制器转到其他页面时$row值丢失



每当我使用控制器转到指定页面时,$row值都会丢失。

下面的代码显示了我如何进入新页面。

while($row = $result->fetch_assoc()) {
        $html .= "<tr>";
        $html .= "<td><a href='?article=del&".$row["id"]."'><i class='fas fa-trash-alt'></a></i></td>";
        $html .= "</tr>";
    }

通常,在我的完整表中,会显示所有数据,包括 ID 和 db 中的名称等。但是当我到达新页面时,$row值丢失了。例如,del 页面将是这样的:

<?php
function del() {
    print $row;
}

我会得到这个错误:

注意:未定义的变量:C:\wamp64\www\SMS2\article\del.php 第 3 行中的行

相反,网址确实显示$row["id"],例如:

http://localhost/SMS2/index.php?article=del&15

在这种情况下,我单击了"id"值为 15 的行。

所以基本上,$row值确实加载在 url 中,它是 15,但当我尝试打印它时,它在实际页面中丢失了。

虽然我看不到您的其余代码,但您的 URL 缺少 15 的定义。您需要在 URL 中包含一个变量。例如:

http://localhost/SMS2/index.php?article=del&id=15

而不是

http://localhost/SMS2/index.php?article=del&15

然后在代码中,您将使用 $_GET['id'] 之类的东西从 URL 中提取值 15。

更改

<a href='?article=del&".$row["id"]."'>

到:

<a href='?article=del&id=".$row["id"]."'>

在另一页上:


<?php
$id = $_GET['id']; 
print $id;
?>

最新更新