Medeno
Medeno

Reputation: 171

Multiple submit on one form

I have two buttons for a register form.

<input type="submit" name="submit1" value="Pay Now" class="submit" id="submit1" />
<input type="submit" name="submit2" value="Pay Later" class="submit" id="submit2" />

Check to see if either button is pushed

if((isset($_POST['submit1'])) or (isset($_POST['submit2'])))

Then PHP code to sanitize and validate data for either input

Now I want to have the "Pay Now" go to one page, and the "Pay Later" go to a different page, but I can n not figure it out. Thanks

Upvotes: 0

Views: 1182

Answers (4)

MD SHAHIDUL ISLAM
MD SHAHIDUL ISLAM

Reputation: 14523

Use form action like this:

<form action="" method="post">

<input type="submit" name="submit1" value="Pay Now" class="submit" id="submit1" onclick="this.form.action='page1.php'" />
<input type="submit" name="submit2" value="Pay Later" class="submit" id="submit2" onclick="this.form.action='page2.php'" />

</form>

Upvotes: 2

Bora
Bora

Reputation: 10717

You can use $_SESSION. After set session, redirect page and get session data

if(isset($_POST['submit1']) || isset($_POST['submit2'])) {
    $_SESSION['post'] = $_POST;

    if($_POST['submit1'])
        header("Location: pay_now.php");
    elseif($_POST['submit2'])
        header("Location: pay_later.php");
}

pay_now.php or pay_later.php

$data = $_SESSION['post'];

Upvotes: 2

Elon Than
Elon Than

Reputation: 9765

You can do it in PHP but you can also do it in JS using onlick event.

<form method="POST" action="" name="dynamicForm">
   <input type="button" name="submit" value="Pay Now" class="submit" id="submit1" onclick="buttonClicked(1);" />
   <input type="button" name="submit" value="Pay Later" class="submit" id="submit2" onclick="buttonClicked(2);" />
</form>

<script type="text/javascript">
    function buttonClicked(type) {
        if (type === 1) {
           document.dynamicForm.action = 'firstUrl';
        } else {
           document.dynamicForm.action = 'secondUrl';
        }
        document.dynamicForm.submit();
    }
</script>

Upvotes: 0

Padmanathan J
Padmanathan J

Reputation: 4620

Try this

if(isset($_POST['submit']))
{
  if($_POST['submit'] == 'Pay Now')
  {
   echo $_POST['submit'];

  }
  if($_POST['submit'] == 'Pay Later')
  {
   echo  $_POST['submit']
  }
}

Upvotes: 0

Related Questions