2011-08-19 105 views
6

我有兩個提交按鈕的註冊表單。一個提交按鈕用於免費會員帳戶,另一個則用於高級會員帳戶。多個提交按鈕

我的表單代碼是

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

現在我怎麼能告訴用戶是否點擊免費按鈕或溢價按鈕?

例如:

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

回答

7

您可以輕鬆地給提交按鈕的名稱:

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

您的文章就會顯示是這樣的:

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

這是不是很可擴展性。我建議使用JavaScript來填充提交時隱藏的字段。例如:

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

爲什麼downvote? – AlienWebguy

+0

你好外星人,我沒有做downvote ..它是有用的重播,但需要java/jquery ..和下一個重播是太容易,不需要任何東西..反正票爲您的重播..並非常感謝你多爲你的幫助 –

+0

@Osama:他的第一個建議不需要Javascript或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

謝謝埃文..它似乎將工作正常我想這個想法,非常感謝你 –

+0

我測試了它..它工作正常,再次感謝你Evan Mulawski –