2011-08-19 13 views
6

Mam formularz rejestracyjny z dwoma przyciskami przesyłania. Jeden przycisk przesyłania służy do bezpłatnego konta członkowskiego, a drugi do konta członka premium.Wiele przycisków przesyłania

Mój kod forma jest

<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 ? 
    } 

Teraz jak mogę powiedzieć, czy użytkownik kliknął na wolnym lub przycisk premium?

przykład:

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

Odpowiedz

7

można łatwo dać przyciski przesłać nazwę:

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

Następnie Twój post pokaże tak:

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

nie jest to bardzo skalowalny. Zalecam użycie javascript do wypełnienia ukrytego pola przy przesyłaniu. Przykład:

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

Dlaczego downvote? – AlienWebguy

+0

Witaj, obcy, nie zrobiłem downvote .. to jest przydatne powtórka, ale wymaga java/jquery .. a następna powtórka jest zbyt łatwa i nie wymaga żadnej rzeczy ... w każdym razie głosowanie za powtórkę .. i dziękuję bardzo dużo za pomoc –

+0

@Osama: Jego pierwsza sugestia nie wymaga JavaScript ani jQuery. –

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

Dziękuję Evan .. wygląda na to, że działa dobrze, myślałem o tym pomyśle, bardzo dziękuję –

+0

testowałem to .. działa dobrze, jeszcze raz dziękuję Evan Mulawski –