【问题标题】:Product_ID variable assignment doesn't work if enter key is pushed [duplicate]如果按下回车键,Product_ID 变量分配不起作用[重复]
【发布时间】:2017-08-14 18:58:54
【问题描述】:

在我的项目中,我有:

  1. 产品列表页面
  2. 单一产品页面

产品列表中的每一行都有一个将product_ID传递到单个产品页面的链接,如下所示:

<!---Products List Page--->
    ....
        <td>
        <a href="singolo_prodotto.php?product_id='.$row['id'].'">Link</a>
        </td>

在单品页面中,product_id被捕获如下:

<!---Single Product--->

<!DOCTYPE html>
<?php

$product_id = $_GET['product_id'];

if(!isset($_GET['product_id'])){$product_id='13321';}
    else {
include '../sys/conn.php';
$risultato = mysqli_query ($conn, "

(*...mysql query...*)

") or die ("Invalid query: " . mysqli_error($conn));
mysqli_close($conn);

$row = mysqli_fetch_array($risultato);
}
?>

在每个字段中,数组值嵌入如下:

<div class="col-lg-3">
  <form role="form">
     <div class="form-group">
       <label>SKU</label>
<input class="form-control" placeholder="SKU Code" value = "<?php echo $row['6']; ?>" >
      </div>
  </form>
</div>

如果我通过上述链接从产品列表传递到单个产品页面,一切正常。重新加载单个产品页面一切正常。 但是,如果我按下位于“单一产品”页面的某个字段中的 ENTER 键,它会崩溃并给出以下错误:

注意:未定义索引:product_id in /Applications/XAMPP/xamppfiles/htdocs/gest/pages/singolo_prodotto.php 在第 6 行

警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result, 给出的空值 /Applications/XAMPP/xamppfiles/htdocs/gest/pages/singolo_prodotto.php 在第 637 行

知道如何解决这个问题吗?

【问题讨论】:

  • 你想在$product_id = $_GET['product_id'];之前检查isset
  • 我认为没有,因为在我的情况下,变量定义正确。仅在一种情况下不起作用
  • 好的阿布拉,去试试

标签: php sql key


【解决方案1】:

回车键提交您的表单,但由于您的表单没有名称为product_idinput,PHP 代码找不到它并生成异常。

现在这取决于你想要什么:

  • 您想要表单提交系统吗?然后确保你的 PHP 代码可以处理这个问题,并且不要期望 product_id 总是在 $_GET 数组中定义,而是在 $_POST 数组中定义一些变量(用于命名 input 元素)。

  • 您不想提交表单吗?那么要么不使用form标签,要么给它添加onsubmit="return false"属性。

【讨论】:

  • Trincot,在这个阶段,表单必须只显示从数据库中检索到的值。我应该将按下回车键的操作设为 null。
  • 那是我提供的第二个选项:添加该属性。
  • 非常好,它确实使空输入键动作。谢谢特林科特!
猜你喜欢
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多