Вопрос по post, php – Неопределенная ошибка индекса PHP

17

Я новичок в PHP, и я получаю эту ошибку:

Notice: Undefined index: productid in /var/www/test/modifyform.php on line 32

Notice: Undefined index: name in /var/www/test/modifyform.php on line 33

Notice: Undefined index: price in /var/www/test/modifyform.php on line 34

Notice: Undefined index: description in /var/www/test/modifyform.php on line 35

Я не смог найти какое-либо решение в Интернете, поэтому, возможно, кто-то может мне помочь.

Вот код:

<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 определяется, в то время как другие переменные не являются ".

Спасибо, что нашли время, чтобы ответить мне. Ура!

Попробуйте сделать это и посмотрите, что вы получитеvar_dump($_POST); guitarlass
сделать print_r всего массива $ _POST и посмотреть индекс и значения Khurram Ijaz
У вас есть несколько<form> теги? CodeCaster
@Mian_Khurram_Ijaz Выходные данные отображают только переменную rowID на момент отправки. Array ([rowID] = & gt; Oranges [submit] = & gt; Submit!) LPoblet
kunststube.net/isset deceze♦

Ваш Ответ

9   ответов
0

Если вы используете сервер wamp, то я рекомендую вам использовать сервер xampp. вы . я получаю эту ошибку менее чем за минуту, но я решил ее с помощью функции (isset). и я не получаю ошибки. и после этого я удаляю (isset) функцию и не вижу никакой ошибки.

кстати я использую сервер xampp

0

Там должно быть проблема, когда вы генерируете<form>, Бьюсь об заклад, переменные$name, $price являютсяNULL или пустая строка, когда выecho их вvalue из<input> поле. Пустые поля ввода не отправляются браузером, поэтому$_POST не будет их ключей.

Во всяком случае, вы можете проверить это сisset().

Проверьте переменные со следующим:

if(isset($_POST['key'])) ? $variable=$_POST['key'] : $variable=NULL

Вы лучше установите егоNULL, так как

NULL value represents a variable with no value.

Error: User Rate Limit Exceeded LPoblet
2

Это происходит потому, что ваш PHP-код выполняется до того, как форма будет опубликована.

Чтобы избежать этого, оберните ваш PHP-код в следующую инструкцию if, и она будет обрабатывать все остальное. Нет необходимости устанавливать операторы if для каждой переменной.

       if(isset($_POST) && array_key_exists('name_of_your_submit_input',$_POST))
        {
             //process PHP Code
        }
        else
        {
             //do nothing
         }
Error: User Rate Limit Exceeded
35

Пытаться:

<?php

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

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

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

?>
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded$name = $_POST['name'] ?? 'any default value, but probably null';
Error: User Rate Limit Exceeded
-1

эта ошибка произошла когда-то атрибут метода (допустимый метод передачи) Вариант ошибки:             Способ = & Quot; получают & Quot; но вызывается $ Fname = $ _POST [& quot; name & quot;];                                  или же

       method="post" but  called by  $Fname = $_GET["name"];

Больше информации посетитьhttp://www.doordie.co.in/index.php

0

Эй, это происходит потому, что вы пытаетесь отобразить значение, прежде чем назначить его U просто заполните значения и отправьте форму, она будет отображать правильный вывод Или вы можете написать свой php код ниже тегов формы Он будет работать без ошибок

Error: User Rate Limit Exceeded
-2

Чтобы устранить эту ошибку, в вашей HTML-форме вы должны сделать следующее вenctype:

<form  enctype="multipart/form-data">

Следующая ошибка является причиной этой ошибки, т.е. если вы начинаете с form-data в enctype, то вам следует начать с multipart:

<form enctype="form-data/multipart">
6

По-видимому, индекс «productid» отсутствует в вашей HTML-форме. Сначала проверьте ваши входные данные HTML. например<input type="text" name="productid" value=""> But this will handle the current error PHP is raising.

  $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'] : '';
2

ПЫТАТЬСЯ

<?php

  $rowID=$productid=$name=$price=$description="";  

   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'];

}
Error: User Rate Limit Exceeded

Похожие вопросы