2016-04-09 19 views
-1

ifadeleri varsa Kullanıcı seçimine bağlı olarak iki farklı tabloya eklenecek bir if ifadesi kullanmak istiyorum.Radyo düğmelerini kullanarak veri ekleyin ve eğer

Ben iki radyo düğmesi vardır:

   <label for="radioBtn">Back to me</label> <input type="radio" name="radioBtn" id="radioBtn1" value=1 /></br></br> 
      <label for="radioBtn">Direct to recipient</label> <input type="radio" name="radioBtn" id="radioBtn2" value=0 /></br></br> 

Ve PHP aşağıdaki gibidir: Yalnızca kullanıcı "Doğrudan seçmek sahip olsa bile, user_address sütunu güncellenir Şu anda

$selection = $_POST["radioBtn"]; 

    if ($selection==0) { 
    $sql = "INSERT INTO user_address (user_ID, first_name, last_name, address_line1, address_line2, town, county, postcode) VALUES ($user_ID, '$_POST[first_name]', '$_POST[last_name]', '$_POST[address_line1]', '$_POST[address_line2]', '$_POST[town]', '$_POST[county]', '$_POST[postcode]')"; 
} else if ($selection==1) { 
    $sql = "INSERT INTO recipient_address (user_ID, first_name, last_name, address_line1, address_line2, town, county, postcode) VALUES ($user_ID, '$_POST[first_name]', '$_POST[last_name]', '$_POST[address_line1]', '$_POST[address_line2]', '$_POST[town]', '$_POST[county]', '$_POST[postcode]')"; 
} 

alıcıya "radyo düğmesi.

+0

hem 'if ($ seçimi == 0)' ve 'if ($ seçim == 1)' ve değerleriniz 0 ve 1'dir. Bir dizgenin olup olmadığını kontrol etmeniz gerekir. I.e .: '($ seçim ==" 0 ")'. Değerlerinizi de belirtmelisiniz. Ayrıca, burada kullandığınız şeyden daha iyi olan 'isset()' işlevini kullanın. –

+0

@ Fred-ii- '" 1 "== 1 'sadece iyi çalışıyor. Türü kontrol etmek isterseniz, '===' – rjdown

+0

kullanın. 'Alıcıya doğrudan' radyo düğmesi 0 değerine sahiptir; ama kodunuz 'user_address' güncellemesini çalıştırmak için' $ selection == 0' kullanıyor. – andrewsi

cevap

0

Sorununuz, öznitelik değeriyle formunuzda idi. Her zaman alıntı kullanmalısınız. En iyi uygulama için isset'i kullanın.

PHP:

if (isset($_POST['submit'])) { 

    // Get the value 
    $selection = $_POST["radioBtn"]; 

    // Init your statements 
    $sql1 = "Your first sql statement"; 
    $sql2 = "Your second sql statement"; 

    // Make the logic 
    if ($selection == 0) { 
     $sql = $sql1; 
    } else if ($selection == 1) { 
     $sql = $sql2; 
    } 

    // Debug Code 
    echo $sql; 
} 

HTML: Aşağıdakiler için boole çek kullandığınız

<form method="post" action="test.php"> 
    <label for="radioBtn">Back to me</label> 
    <input type="radio" name="radioBtn" id="radioBtn1" value='1' /></br></br> 

    <label for="radioBtn">Direct to recipient</label> 
    <input type="radio" name="radioBtn" id="radioBtn2" value='0' /></br></br> 

    <button type="submit" name="submit">Submit</button> 
</form>