2010-11-18 25 views
1

Tek bir radyo düğmesi için bir giriş alanı ile kurulmuş oldukça basit bir form var.Form alanında radyo düğmesi daima ON/TRUE olarak gönderiliyor

Formu işleyen ve değerleri mysql veritabanına ekleyen bir php betiği vardır. Herhangi bir nedenle, radyoyu seçip seçmediğime bakılmaksızın, formu her doldurduğumda, sonuç her zaman AÇIK/DOğRU olur.

if(isset($_POST['news'])) 
{ 
$news = "Yes"; 
} 
else 
{ 
$news = "No"; 
} 

birisi o koddan olduğunu ya da ne Hte sorun söyleyebilir:

İşte
<input type="radio" name="news" id="news" class="radio" value="yes" /> 

o işlemek gerekiyordu PHP kod parçasıdır: burada

benim giriş alanıdır daha fazla yayınlamalı mıyım? Radyo düğmesi girişi kendisine uygulanan hiçbir javascript sahip olduğunu

<form method="POST" id="ipad" name="ipad" action="list.php"> 
<input type="text" onfocus="if (this.value == 'First Name') {this.value = '';}" onblur="if (this.value == '') {this.value = 'First Name';}" value="First Name" id="fname" name="fname" class="inputtext"> 


<input type="text" onfocus="if (this.value == 'Last Name') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Last Name';}" value="Last Name" id="lname" name="lname" class="inputtext"> 

<input type="text" onfocus="if (this.value == 'Email') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Email';}" value="Email" id="email" name="email" class="inputtext"> 

<input type="text" onfocus="if (this.value == 'Code') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Code';}" value="Code" id="code" name="code" class="inputtext"> 


<input type="radio" value="" class="radio" id="news" name="news"> 
<div class="radiotext">sign up?</div> 

    </form> 

Uyarı:

burada tam form kodudur. YES veya NO ile değerini = "" doldurmayı veya boş bırakmayı denedim.

cevap

1

Telsiz düğmesinin değeri değerini sınamanız gerekir. Değişken her zaman mevcut olacaktır, bu nedenle isset() her zaman doğru olarak döndürülecektir.

html çalışmak içinde olması gerekmez JavaScript o jquery kodu, yaklaşık
if(!empty($_POST['news']) and ($_POST['news'] == 'yes')) 
+0

Üzgünüz işe yaramadı. Cevap her zaman aynı olmaksızın biter. – gteh

+0

Komut dosyasını yazan kişi, sayfamda her zaman radyo düğmesini ON olarak ayarlayan javascript olduğunu söylüyor, ancak durum böyle değil. Orada sahip olduğum tek javascript, jquery dosyası. Bu bana – gteh

+0

@gteh'i yönlendiriyor ve formun HTML kodunu gösterebiliyor musunuz? –

1
if (isset($_POST['news']) && $_POST['news'] == 'yes'){ 
    $news = "Yes"; 
} 
else 
{ 
    $news = "No"; 
} 
+0

test çalışması gerekir, ancak çalışmıyor .. aynı sorunu var. Sadece bu sefer cevap, YES yerine her zaman HAYIR'dır. – gteh

+0

1. Gönderdikten sonra ve bundan önceki $ _POST ['news'] 'ın baskı değeri (eğer (isset ($ _ POST [' news ']) && $ _POST [' news '] ==' yes ')) koşulu geliyor. bu yüzden $ _POST ['news'] 'ın değerini bilmek için geldik. 2 Eğer bu koşulu news = '' ile denerseniz, sonuç size "Hayır" verecektir. –

0

. Senin yerinde olsaydım, kodumu .attr ("işaretli", "işaretli") veya .prop ("işaretli") için arardım;