2014-12-04 2 views
-4

Я получаю сообщение об ошибке из-за моей формы выбора. Как я могу выбрать форму в моем php-файле?Почему я получаю эту ошибку в отношении моего Неопределенного индекса?

Вот мой код:

<select name='md' multiple="yes" size="10"> 
    <optgroup label="Оpel"> 
     <option value="Astra" name='Ast'>Astra</option> 
    </optgroup> 
    <optgroup label="Nissan">   
     <option value="Pulsar" name='Puls'>Pulsar</option> 
     <option value="Almera" name='Alm'>Almera</option> 
    </optgroup> 
    <optgroup label="Honda"> 
     <option value="Civic" name='Civ'>Civic</option> 
    </optgroup>  
    <optgroup label="Audi"> 
     <option value="Q7" name='Q'>Q7</option>     
    </optgroup> 

    <optgroup label="BMW"> 
     <option value="M3" name='M'>M3</option> 
    </optgroup> 
    <optgroup label="Renault"> 
     <option value="Megane" name='Meg'>Megane</option> 
    </optgroup> 
    <optgroup label="Mercedes"> 
     <option value="G-Class" name='G'>G-Class</option> 
    </optgroup> 
</select></br></br> 

Цвят : 
<select name='col' size='5'> 
    <option value='white' name='wh'>Бял</option> 
    <option value='black' name='bl'>Черен</option> 
    <option value='yellow' name='ye'>Жълт</option> 
    <option value='brown' name='br'>Кафяв</option> 
    <option value='grey' name='gr'>Сив</option> 
</select></br></br> 

И мой PHP код:

$md = $_POST['md']; 
$col = $_POST['col']; 

Где-то я видел, что я должен использовать AJAX делать я? Это необходимо ?

+1

какой индекс не определен? –

+0

'$ md = (isset ($ _ POST ['md']))? $ _POST ['md']: ''; 'и' $ col = (isset ($ _ POST ['col']))? $ _POST ['col']: ''; '. Добро пожаловать. –

+0

показать нам свой тег формы. – SaidbakR

ответ

0

попробовать с

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

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

или

$md = (isset($_POST['md'])) ? $_POST['md'] : ''; 
$col = (isset($_POST['col'])) ? $_POST['col'] : ''; 
+0

Вы просто бесстыдно скопировали тернарный оператор из моего ответа? –

+0

О, и даже 'else {' часть в вашем основном ответе ... отлично. –

+0

Просто загляните в ответное время, когда мой ответ был до вашего ответа, я не знаю, что вы скопировали мой ответ или я скопировал ваш ответ. Вы должны быть бесстыдными, копируя ответ других людей –

0

Ваш PHP код показывает "Примечание: Undefined индекс: ...", потому что у вас нет ничего, выбранного в отдельных коробках, когда вы сначала открываете файл. Чтобы предотвратить это, используйте if (isset(...)):

if (isset($_POST['md']) { 
    $md = $_POST['md']; 
} else { 
    $md = ''; 
} 
if (isset($_POST['col']) { 
    $col = $_POST['col']; 
} else { 
    $col = ''; 
} 

Или вы могли бы использовать тройные операторы, как более короткие решения:

$md = (isset($_POST['md'])) ? $_POST['md'] : ''; 
$col = (isset($_POST['col'])) ? $_POST['col'] : ''; 
0

, потому что я думаю, что вы получаете переменный массив для множественного выбора. использовать массив для хранения данных. Подобно этому

<label for="aoi">Area of Interest:</label> 
     <select id="sel_aoi" name="aoi[]" multiple="multiple"> 
     <option value="hr-executive">HR Executives</option> 
     <option value="sr-manager">Sr. Manager</option> 
     <option value="service-advisor">Service Advisor</option> 
     <option value="production">Production Engineer</option> 
     <option value="mechanical">Mechanical Engineer</option> 
     </select> 


    $aoi = implode(',', $_POST['aoi']); 
Смежные вопросы