2015-10-21 4 views
0

ребята! Возникли проблемы с разбором php. Вот код:php undefined index in drowdown list value

<form method="POST" action=""> 
<input type="text" name="transactions"> 
<select name= "cat" class="cs-select cs-skin-border"> 
       <option value="" disabled selected>Select category</option> 
       <option value="Aviabileti">Aviatickets</option> 
       <option value="Oteli">Hotel</option> 
       <option value="Krasota">Beauty</option> 
       <option value="Odezhda_obyv">Clothes</option> 
       <option value="Razvlecheniya">Amusement</option> 
       <option value="Restorani">Restaurant</option> 
       <option value="Telekom">Telecom</option> 
       <option value="Toplivo">Fuel</option> 
       <option value="ZhD_bileti">Railway tickets</option> 
       <option value="Tyragenstva">Travel agencies</option> 
       <option value="Dom_remont">House and repair</option> 
       <option value="Foto_video">Foto and video</option> 
</select> 
<input name="pointsinput" type="text"> 
<input type="text" name="destination"> 
<input type="text" name="cost"> 
<label> 
<input type="Submit" name="submit" style="visibility:hidden"><span>< 
img name = "gobut" src="go.png"></span> 
</label> 
</form> 

<?php 
if (isset($_POST['submit'])) 
{ 
$trans=$_POST['transactions']; 
$cat=$_POST['cat']; 
$points = $_POST['pointsinput']; 
$destination = $_POST['destination']; 
$cost=$_POST['cost']; 
echo $cat; 
echo $destination; 
echo $points; 
echo $cost; 
echo $trans; 
} 
?> 

А имеют ошибку PHP: «Undefined индекс кота в ...», но все остальные являются переменными отображения правильно. Если я установил свой раскрывающийся список на первое место, а затем все мои формы ввода, он работает правильно В чем дело?

+0

Ваш $ cat пуст – MuthaFury

+0

Вызывает ли ваш 'echo $ cat' что-то? – Erlaunis

+0

Но я выбираю его на странице html –

ответ

0

Измените эту строку: -

<option value="" disabled selected>Select category</option> 

Для

<option value="">Select category</option> 

Для отключения использования этого: -

<select name="cat" class="cs-select cs-skin-border" disabled> 

Попробуйте этот код: -

<form method="POST" action=""> 
<input type="text" name="transactions"> 
<select name="cat" class="cs-select cs-skin-border"> 
       <option value="">Select category</option> 
       <option value="Aviabileti">Aviatickets</option> 
       <option value="Oteli">Hotel</option> 
       <option value="Krasota">Beauty</option> 
       <option value="Odezhda_obyv">Clothes</option> 
       <option value="Razvlecheniya">Amusement</option> 
       <option value="Restorani">Restaurant</option> 
       <option value="Telekom">Telecom</option> 
       <option value="Toplivo">Fuel</option> 
       <option value="ZhD_bileti">Railway tickets</option> 
       <option value="Tyragenstva">Travel agencies</option> 
       <option value="Dom_remont">House and repair</option> 
       <option value="Foto_video">Foto and video</option> 
</select> 
<input name="pointsinput" type="text"> 
<input type="text" name="destination"> 
<input type="text" name="cost"> 
<label> 
<input type="Submit" name="submit" style="visibility:hidden"><span> 
<img name = "gobut" src="go.png"></span> 
</label> 
</form> 

<?php 
if (isset($_POST['submit'])) 
{ 
//print_r($_POST);//die; 
$trans=$_POST['transactions']; 
if(!empty($_POST['cat'])){ 
$cat=$_POST['cat']; 
}else{ 
$cat="category not select";  
} 
$points = $_POST['pointsinput']; 
$destination = $_POST['destination']; 
$cost=$_POST['cost']; 
echo $cat."<br>"; 
echo $destination."<br>"; 
echo $points."<br>"; 
echo $cost."<br>"; 
echo $trans."<br>"; 
} 
?> 
+0

не работает ((. –

+0

что не работает ?? @DaniilGurin –

+0

такая же ошибка, к сожалению –

0

Удалить отключенную атрибут этой строки. Поскольку это отключает selectbox. Итак, замените.

<option value="" disabled selected>Select category</option> 

с

<option value="" selected>Select category</option> 
+0

Почему? Это нормально, если в раскрывающемся меню есть такой быстрый вариант. Возможно, он должен просто удалить атрибут «disabled». – Barmar

+0

@Barmar Да. Я обновил ответ. – sandeepsure

+0

Удалено, но оно не решило мою проблему –

0

Я не могу воспроизвести это. У вас есть тип около <img. Возврат ссылки между < и img.

Вот где я попытался воспроизвести его: http://viper-7.com/qgWXvN

0

UPDATE:

<form method="POST" action=""> 
<input type="text" name="transactions"> 
<select name="cat" id="cat" class="cs-select cs-skin-border"> 
       <option value="" disabled selected>Select category</option> 
       <option value="Aviabileti">Aviatickets</option> 
       <option value="Oteli">Hotel</option> 
       <option value="Krasota">Beauty</option> 
       <option value="Odezhda_obyv">Clothes</option> 
       <option value="Razvlecheniya">Amusement</option> 
       <option value="Restorani">Restaurant</option> 
       <option value="Telekom">Telecom</option> 
       <option value="Toplivo">Fuel</option> 
       <option value="ZhD_bileti">Railway tickets</option> 
       <option value="Tyragenstva">Travel agencies</option> 
       <option value="Dom_remont">House and repair</option> 
       <option value="Foto_video">Foto and video</option> 
</select> 
<input name="pointsinput" type="text"> 
<input type="text" name="destination"> 
<input type="text" name="cost"> 
<label> 
<input type="Submit" name="submit" style="visibility:hidden"><span onclick="return checkCat();"> 
<img name = "gobut" src="go.png"></span> 
</label> 
</form> 

<script> 
function checkCat() { 
var oS = document.getElementById("cat"); 
if (oS.options[oS.selectedIndex].value == "") { 
    alert('CAT EMPTY PLEASE SELECT'); 
    return false; 
} 
} 
</script> 
<?php 
if (isset($_POST['submit'])) 
{ 
$trans=$_POST['transactions']; 
$cat=$_POST['cat']; 
$points = $_POST['pointsinput']; 
$destination = $_POST['destination']; 
$cost=$_POST['cost']; 
echo $cat; 
echo $destination; 
echo $points; 
echo $cost; 
echo $trans; 
} 
?> 

Это должно решить вашу проблему

+0

та же ошибка снова –

+0

Я уверен, что вы ее не выбрали, я пробовал себя. – MuthaFury

+0

MuthaFury, я выбираю его на моей странице html, но он не работает ( –

0

Ваш код работает отлично. Я протестировал его.

<form method="POST" action=""> 
<input type="text" name="transactions"> 

<input name="pointsinput" type="text"> 
<input type="text" name="destination"> 
<input type="text" name="cost"> 
<select name= "cat" class="cs-select cs-skin-border"> 
       <option value="" disabled selected>Select category</option> 
       <option value="Aviabileti">Aviatickets</option> 
       <option value="Oteli">Hotel</option> 
       <option value="Krasota">Beauty</option> 
       <option value="Odezhda_obyv">Clothes</option> 
       <option value="Razvlecheniya">Amusement</option> 
       <option value="Restorani">Restaurant</option> 
       <option value="Telekom">Telecom</option> 
       <option value="Toplivo">Fuel</option> 
       <option value="ZhD_bileti">Railway tickets</option> 
       <option value="Tyragenstva">Travel agencies</option> 
       <option value="Dom_remont">House and repair</option> 
       <option value="Foto_video">Foto and video</option> 
</select> 
<label> 
<input type="Submit" name="submit" ><span> 
<img name = "gobut" src="go.png"></span> 
</label> 

</form> 

<?php 
if (isset($_POST['submit'])) 
{ 
$trans=$_POST['transactions']; 
$cat=$_POST['cat']; 
$points = $_POST['pointsinput']; 
$destination = $_POST['destination']; 
$cost=$_POST['cost']; 
echo $cat; 
echo $destination; 
echo $points; 
echo $cost; 
} 
?> 
+0

где вы проверили? –

+0

http://main.xfiddle.com/d3d734f4/testing1.php – Suraj