2016-06-17 1 views
2

Не знаете, почему форма ввода типа формы обрабатывается любым, отличным от текстового поля ... но я получаю Undefined index во всех своих селекторах!Неопределенный индекс в php с диапазоном типа формы

JavaScript:

function outputUpdate(obj) { 
    obj.previousElementSibling.value = obj.value; 
} 

в PHP:

$entrynum = $_POST['entrynum']; 
$class = $_POST['class']; 

$paint = $_POST['paint']; 
$wheels = $_POST['wheels']; 
$mods = $_POST['mods']; 
$engine = $_POST['engine']; 

в форме:

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <label for="entrynum">Registration</label> 
    <input type="number" name="entrynum" id="entrynum" value="" required="true" placeholder="" /> 
    <label for="class">Classification</label> 
    <input type="text" name="class" id="class" value="" required="true" placeholder="" /> 
    <fieldset> 
     <legend><h3>Paint/Body</h3></legend> 
     <output for="paint" id="paint">0</output> 
     <input id="paint" type="range" min="0" max="10" value="0" step="1" list="0-10" oninput="outputUpdate(this)"> 
    </fieldset> 
    ...repeated for all sliders... 
</form> 
  • Notice: Undefined индекс: краска
  • Примечание: Undefined индекс : Колеса
  • Примечание: Undefined индекс: модники
  • Примечание: Undefined индекс: двигатель

... вы получите точку ...

entrynum и внеклассная работа просто отлично!

+0

Возможный дубликат [PHP: «Примечание: неопределенная переменная» и «Примечание: неопределенный индекс»] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and -notice-undefined-index) – Epodax

+1

Я не вижу атрибут 'name' в поле ввода ** paint **. PHP собирает сообщения формы с помощью атрибута name, а не id. – Michel

+1

Это должно быть имя в формате html, а не id. –

ответ

3

В вашей форме нет полей с name соответствующего тем:

$_POST['paint']; 
$_POST['wheels']; 
$_POST['mods']; 
$_POST['engine']; 

Таким образом, они не определены.

Это только уведомления, поэтому код все еще работает. Если вы хотите, чтобы они исчезли, сделайте что-то, чтобы определить эти поля. Либо определите их самостоятельно на PHP, либо поместите их в свою форму.

2

No Атрибут имени в вашем <input type="range">. Положи .. Это будет хорошо работать ..

То же самое касается всех элементов, которые не будучи неправдоподобным в PHP ..

И если вы обрабатываете форму на том же PHP ... просто оставить метод пуст.

Смежные вопросы