当前位置: 首页 > 知识库问答 >
问题:

未定义的索引错误

郎增
2023-03-14

我是PHP新手,遇到以下错误:

注意:未定义索引:productid在第32行的 /var/www/test/modifyform.php

注意:未定义的索引:name在/var/www/test/modifyform中。第33行的php

注意:未定义的索引:price in/var/www/test/modifyform。第34行的php

注意:未定义索引:第35行 /var/www/test/modifyform.php中的描述

我在网上找不到任何解决方案,所以也许有人可以帮我。

代码如下:

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
   <input type="hidden" name="rowID" value="<?php echo $rowID;?>">

   <p>
      Product ID:<br />
      <input type="text" name="productid" size="8" maxlength="8" value="<?php echo $productid;?>" />
   </p>

   <p>
      Name:<br />
      <input type="text" name="name" size="25" maxlength="25" value="<?php echo $name;?>" />
   </p>

   <p>
      Price:<br />
      <input type="text" name="price" size="6" maxlength="6" value="<?php echo $price;?>" />
   </p>

   <p>
      Description:<br />
      <textarea name="description" rows="5" cols="30">
      <?php echo $description;?></textarea>
   </p>

   <p>
      <input type="submit" name="submit" value="Submit!" />
   </p>
   </form>
   <?php
   if (isset($_POST['submit'])) {
      $rowID = $_POST['rowID'];
      $productid = $_POST['productid']; //this is line 32 and so on...
      $name = $_POST['name'];
      $price = $_POST['price'];
      $description = $_POST['description'];

}

之后我要做的(或者至少我正在尝试)是在MySQL中更新一个表。我真的不明白为什么定义了$rowID,而其他变量没有定义。

谢谢你花时间回答我。干杯!

共有3个答案

巫马阳飙
2023-03-14

之所以会发生这种情况,是因为您的PHP代码是在表单发布之前执行的。

为了避免这种情况,用下面的if语句包装你的PHP代码,它将处理剩下的部分,不需要为每个变量设置if语句

       if(isset($_POST) && array_key_exists('name_of_your_submit_input',$_POST))
        {
             //process PHP Code
        }
        else
        {
             //do nothing
         }
夏建木
2023-03-14

显然,html表单中缺少索引“productid”。首先检查html输入。例如

  $rowID = isset($_POST['rowID']) ? $_POST['rowID'] : '';
  $productid = isset($_POST['productid']) ? $_POST['productid'] : '';
  $name = isset($_POST['name']) ? $_POST['name'] : '';
  $price = isset($_POST['price']) ? $_POST['price'] : '';
  $description = isset($_POST['description']) ? $_POST['description'] : '';

盛跃
2023-03-14

尝试:

<?php

if (isset($_POST['name'])) {
    $name = $_POST['name'];
}

if (isset($_POST['price'])) {
    $price = $_POST['price'];
}

if (isset($_POST['description'])) {
    $description = $_POST['description'];
}

?>
 类似资料:
  • 问题内容: 我正在尝试重新学习一些用于编写简单登录脚本的PHP基础知识,但是遇到了以前从未收到的错误(一年多以前我制作了相同的脚本,但从未遇到此错误。我尽可能简化了代码我可以测试一下哪个区域出了问题,这就是问题所在: 现在,当我将变量发送到脚本时,此代码可以正常工作,但是如果未提供任何变量,它将发出错误。从理论上讲,这会很好,因为如果没有提供用户名/密码,则可能会出现错误。在将代码发送到脚本之前,

  • 问题内容: 这听起来真的很愚蠢,但我无法弄清楚为什么会收到此错误。 我创建了一个选择框,以我的html形式命名为“ query_age”: 在相应的php形式中,我有: 运行页面时,出现此错误: 注意:未定义的索引:第19行的index.php中的query_age 我不明白为什么会这样,我很想知道如何解决它。 问题答案: 我没有看到php文件,但是可能就是这样- 在您的php文件中替换: 与:

  • 我的一些产品页面不断向我显示以下信息: “注意:未定义索引:第411行/home/paper/osconvites/vqmod/vqcache/vq2-catalog\u model\u catalog\u product.php中的选项值注意:未定义索引:第411行/home/paper/osconvites/vqmod/vqcache/vq2-catalog\u product.php中的选项

  • 我有一组代码,给我一个,即使这部分代码是正确的,但我不知道为什么,但我错过了一些肯定的东西。 回溯显示我在中有错误,它给了我这个错误消息:

  • 问题内容: 当我尝试在其他PHP服务器上运行脚本时,出现了一个新问题。 在我的旧服务器上,即使未声明任何参数,以下代码也可以正常工作。 但是现在,在本地计算机(XAMPP-Apache)上的本地服务器上,如果未定义for的值,则会出现以下错误。 如果为声明了值,但脚本要调用某些javascript函数会发生什么,但是如果未声明任何内容,我希望页面能够正常加载。 你能帮助我吗? 问题答案: 错误报告

  • 问题内容: 我是PHP的新手,并且在会话方面更是初学者。我有index.php页面,用户可以在其中注册和登录。表单分别发布到validate.php和loginvalidate.php页面,以进行注册和登录。 加载时在index.php上出现以下错误: 1)注意:未定义的索引:已注册2)注意:未定义的索引:从未使用 我已经尝试过多种方式来修改我的文字,但是我从来没有解决错误。 Index.php

  • 我有一个小而烦人的问题。我真的不习惯使用Web。我尝试使用ajax jquery请求我的php文件。当我想检索从ajax发送的数据时,它返回未定义的索引。我不知道是什么问题,它让我花了很多时间来解决它。谢谢。 下面是我的阿贾克斯代码 当我在php文件中调用下面的代码时,结果是“未定义的索引:数据” //编辑So,当我尝试var_dump($_POST)时;,结果是array(0) {}。我错在哪里

  • 我被卡住了一段时间,无法弄清楚如何修复此代码