【问题标题】:Undefined index with GET带有 GET 的未定义索引
【发布时间】:2015-07-24 18:19:40
【问题描述】:
while($row=mysqli_fetch_assoc($result)){                        
echo "<tr>";
echo ('<td>'.$row['idNo'].'</td>');
echo ('<td>'.$row['FirstName'].'</td>');
echo ('<td>'.$row['LogId'].'</td>');
echo ('<td>'.$row['PassCode'].'</td>');                  
echo '<td><a href="edit.php?id=' . $row['idNo'] . '">Edit</a></td>';                    
echo '<td><a href="delete_contestant.php?id=' . $row['idNo'] . '">Delete</a></td>';                   
echo("</tr>");}

delete_contestant.php 页面的代码如下所示。但是当我试图删除一个项目时它

在第 3 行显示未定义的索引:idNo

即使我试图打印$_GET['idNo'],但它不起作用。

<?php
include('mysql_connect.php');
echo $_GET['idNo'];
if(isset($_GET['idNo']))
{
    $id=$_GET['idNo'];
    $sql="DELETE FROM addContestant WHERE idNo=$id";
    if(mysqli_query($conn,$sql))
    {
        echo "Item deleted";

    }
    else
        echo "There was a problem".mysqli_error($conn);
}
?>

【问题讨论】:

  • 你的链接是delete_contestant.php?id=所以ididNo不一样
  • 使用准备好的语句,您可以通过此代码对 SQL 注入开放。 stackoverflow.com/questions/60174/…
  • 如果以下答案之一回答了您的问题,本网站的工作方式,您将“接受”答案,更多信息请点击此处:What should I do when someone answers my question?。但前提是你的问题真的得到了回答。如果没有,请考虑在问题中添加更多详细信息。
  • 谢谢,到目前为止,我已经从编写原始 php 转移到了 Laravel 框架。

标签: php mysql get


【解决方案1】:

你没有一个名为idNoGET参数,它是id

echo '<td><a href="edit.php?id=' /* <<<< id, not idNo  */. $row['idNo'] . '">Edit</a></td>';                    

把你的代码改成

echo $_GET['id'];
if(isset($_GET['id']))
{
    $id=$_GET['id'];
    //  ......

它应该可以工作。

【讨论】:

    猜你喜欢
    • 2011-09-18
    • 2013-06-14
    • 2019-01-20
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多