2013-11-13 8 views
0

Я использую два простой радиокнопку и пытаюсь передать значения, а затем использовать $ _POST переменных для чтения значения, но значение установлено пустоРадио кнопки не проходит никакого значения

<form style="text-align:left;margin-left:80px;" class="form-inline signup" role="form" method="post" action="userdet.php"> 
<div class="form-group" style="padding-bottom:7px;"> 
<input type="text" name="first" class="form-control" placeholder="First Name" /> 
<input type="text" name="last" class="form-control" placeholder="Last Name" /> 
</div> 
<div class="form-group" style="padding-bottom:7px;"> 
<input type="email" name="email" class="form-control" placeholder="Your Email" /> 
</div> 
<div class="form-group" style="padding-bottom:7px;"> 
<input type="email" name="re-email" class="form-control" placeholder="Re-enter Email" /> 
</div> 
<div class="form-group" style="padding-bottom:7px;"> 
<input type="password" name="password" class="form-control" placeholder="New Password" /> 
</div> 
<span class="help-block">Birthday</span> 
<div class="form-group" style="padding-bottom:7px;"> 
<select name="day" class="form-control" style="width:100px"> 
<?php 
for($i=1;$i<=31;$i++) 
{ 
    echo '<option value='.$i.'>'.$i.'</option>'; 
} 
?> 
</select> 


<select name="month" class="form-control"> 
<option value="January">January</option> 
<option value="February">February</option> 
<option value="Mars">March</option> 
<option value="April">April</option> 
<option value="May">May</option> 
<option value="June">June</option> 
<option value="July">July</option> 
<option value="September">September</option> 
<option value="October">October</option> 
<option value="November">November</option> 
<option value="December">December</option> 
</select> 

<select name="year" class="form-control" style="width:120px"> 
<?php 
for($i=1980;$i<=2015;$i++) 
{ 
    echo '<option value='.$i.'>'.$i.'</option>'; 
} 

?> 
</select> 
</div> 
<div class="form-group" style="padding-bottom:7px;"> 
    <label class="radio inline" ><input type="radio" style="visibility:hidden;margin-left:-70px" value="not specified" name="gender" checked/></label> 
    <label class="radio inline" ><input type="radio" value="female" name="gender" />Female</label> 
    <label class="radio inline"><input type="radio" value="male" name="gender" />Male</label> 

</div> 
<div class="form-group" style="margin-top:12px;"> 
<button type="submit" class="btn btn-primary" name="submit">Sign Up</button> 
</div> 
</form> 

$_POST['gender'] переменной установлена, но имеет пустое значение, даже если радио проверено. Все другие пост-переменные работают правильно.

В php-коде я просто печатаю значения для использования эха по одному.

Что может быть неправильным в этом коде?

+1

Вы уверены, что форма делает POST, а не GET? Попробуйте перейти на $ _REQUEST ['gender']. Просто мысль. Вы должны опубликовать всю форму html –

+0

@Tom Gerken попытался выполнить тот же результат, что и раньше. –

+0

Одна из распространенных проблем связана с правилами перезаписи htaccess, которые теряют данные POST. Просто что-то, чтобы проверить. – m59

ответ

-2

Попробуйте изменить

<button type="submit" class="btn btn-primary" name="submit">Sign Up</button> 

к

<input type="submit" class="btn btn-primary" name="submit" value="Sign Up"> 
+0

Submit работает правильно, и это изменение не имеет значения –

+0

Это будет иметь значение только в том случае, если серверный код тестировался значение '$ _POST ['submit']', но так как * Все остальные пост-переменные работают правильно * это не связано с проблемой. – Quentin

+0

@SayanPaul Затем сообщите нам о коде, который вы используете для обработки данных из формы. – mwaseema

0

Try по Changin название на 'полу []', это будет использовать массив .. Затем захватить его в переменной для пример: $ gender = $ _POST ['gender']; , а затем повторить значение, которое вы можете использовать что-то вроде есть:

if(is_array($gender)){ 
    foreach ($gen as $gender){ 
    echo $gender."<br />"; 

    } 
} 

Он работал для меня!

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