Multiple Submit Buttons

I have a registration form with two submit buttons. One submit button is for a free member account and the other for a premium member account.

My form code

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

Now, how can I find out if the user clicked a free button or a premium button?

Example:

 if($_POST['free_member']){ $member = 'free'; }else{ $member = 'premium'; } 
+6
source share
2 answers

You can easily pass the submit name to the buttons:

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

Then your post will look like this:

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

It is not very scalable. I would recommend using javascript to populate the hidden field in submit. Example:

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' 
+7
source

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'; } 
+8
source

Source: https://habr.com/ru/post/895456/


All Articles