2011-08-19 38 views
6

Tôi có một mẫu đăng ký với hai nút gửi. Một nút gửi là tài khoản thành viên miễn phí và tài khoản còn lại dành cho tài khoản thành viên cao cấp.Nhiều nút gửi

mẫu mã của tôi 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 ? 
    } 

Bây giờ làm thế nào tôi có thể nói cho dù người dùng nhấp vào nút miễn phí hoặc nút cao cấp?

dụ:

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

Trả lời

7

Bạn có thể dễ dàng từ bỏ các nút nộp một cái tên:

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

Sau đó, bài viết của bạn sẽ hiển thị như thế này:

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

Đây không phải là rất có thể mở rộng. Tôi khuyên bạn nên sử dụng javascript để điền vào một trường ẩn khi gửi. Ví dụ:

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

Tại sao downvote? – AlienWebguy

+0

Xin chào người ngoài hành tinh, tôi đã không thực hiện một downvote .. nó hữu ích phát lại nhưng yêu cầu java/jquery .. và replay tiếp theo là quá dễ dàng và không yêu cầu bất kỳ điều .. anyway voteup cho replay của bạn .. và cảm ơn bạn rất nhiều cho sự giúp đỡ của bạn –

+0

@Osama: Đề xuất đầu tiên của anh ấy không yêu cầu Javascript hoặc 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

Cảm ơn bạn Evan .. nó có vẻ sẽ làm việc tốt tôi đã suy nghĩ về ý tưởng này, cảm ơn bạn rất nhiều –

+0

tôi thử nghiệm nó .. nó làm việc tốt, cảm ơn bạn một lần nữa Evan Mulawski –

Các vấn đề liên quan