【问题标题】:$row value lost when going to other page using controller使用控制器转到其他页面时 $row 值丢失
【发布时间】:2019-08-15 04:07:28
【问题描述】:

每当我使用控制器进入指定页面时,$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>";
    }

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

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

我会收到这个错误:

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

相反,url 显示 $row["id"] 例如:

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

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

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

【问题讨论】:

    标签: php html mysql mysqli


    【解决方案1】:

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

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

    而不是

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

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

    【讨论】:

    • 不,那我会得到 undefined index: id
    • 好吧,如果您不期待 ID,那么您会收到一条未定义的消息,但您实际上应该只在执行该函数时期待它。你现在设置它的方式,它永远不会按照你想要的方式工作。除非您连接文章值并根据 & 号爆炸。没有更多代码就很难提供帮助。
    【解决方案2】:

    改变

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

    进入:

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

    在另一页上:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 2020-03-04
      • 2017-01-17
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      相关资源
      最近更新 更多