2011-08-19 23 views
6

İki gönderme düğmeli bir kayıt formum var. Bir gönder düğmesi, ücretsiz üye hesabı içindir, diğeri ise premium üye hesabı içindir.Çoklu gönderme düğmeleri

Benim formu kod Şimdi kullanıcı özgür düğme veya prim butonuna tıklandığında olmadığını söyleyebilir nasıl

<form action="post.php" method="post"> 
<input type="text" name="name" /> 
<input type="text" name="mail" /> 

//submit buttons 
<input type="submit" value="signup for free member" /> 
<input type="submit" value="signup for premium member" /> 
</form> 

if($_POST['name'] and $_POST['mail']){ 
    $user_name = $_POST['name']; 
    $mail = $_POST['mail'] 
    //How i can know he is preimum or free ? 
    } 

mı?

örnek:

<input name="submit" type="submit" value="signup for free member" /> 
<input name="submit" type="submit" value="signup for premium member" /> 

Sonra yazı şu şekilde gösterecektir:

var_dump($_POST['submit']); // 'signup for premium member' 

Bu çok değil

if($_POST['free_member']){ 
    $member = 'free'; 
}else{ 
    $member = 'premium'; 
} 

cevap

7

Kolayca göndermek düğmelerini bir isim verebilir ölçeklenebilir. Gönderilen gizli bir alanı doldurmak için javascript'i kullanmanızı öneririz. Örnek:

HTML:

<!-- Include JQuery --> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script> 

<input type="hidden" id="program_type" name="program_type" value="" /> 
<input class="submit" type="submit" value="signup for free member" data-program-type="free" /> 
<input class="submit" type="submit" value="signup for premium member" data-program-type="premium" /> 

JQuery:

$('.submit').click(function(e){ 
    e.preventDefault(); // Stall form submit 
    $('#program_type').val($(this).data('program-type')); 
    $(this).parents('form:first').submit(); // Submit form 
}); 

PHP:

var_dump($_POST['program_type']); // 'free' or 'premium' 
+0

Neden downvote? – AlienWebguy

+0

Merhaba alien, bir downvote yapmadım .. yararlı tekrarı ama java/jquery gerektirir .. ve bir sonraki tekrarı çok kolay ve herhangi bir şey gerektirmez .. tekrar oynatmak için oy .. .. ve çok teşekkür ederim Yardımınız için çok fazla –

+0

@Osama: İlk önerisi Javascript veya jQuery gerektirmiyor. –

8

HTML

<input type="submit" value="signup for free member" name="signup_free"/> 
<input type="submit" value="signup for premium member" name="signup_premium"/> 

PHP

if($_POST['signup_free']) 
{ 
    $member = 'free'; 
} 
elseif($_POST['signup_premium']) 
{ 
    $member = 'premium'; 
} 
+0

Teşekkür ederim Evan .. Bu fikri düşündüğüm işe yarayacak gibi görünüyor, çok teşekkür ederim –

+0

bunu test ettim .. iyi çalışıyor, tekrar teşekkürler Evan Mulawski –