2016-12-11 3 views
0

Я создал форму PayPal, но я хочу перенаправить информацию о PayPal, как только все запросы к базе данных будут подтверждены и вставлены после этого, я бы хотел, чтобы форма была автоматически отправлена ​​и перенаправлена ​​на paypal, поэтому я использовали некоторые JQuery сделать так, но, к сожалению, когда я перезагрузки страницы он форма не подчиняется может кто-нибудь помочь мнеjquery form submit без нажатия кнопки отправки

вот мой код

<form action="listing.php" method="post"> 
         <input type="hidden" name="business" value="<?php echo $paypal_id; ?>"> 
         <input type="hidden" name="url" value="<?php echo $paypal_id; ?>"> 
         <input type="hidden" name="paypal_url" value="<?php echo $paypal_url; ?>" /> 
         <input type="hidden" name="cmd" value="_xclick"> 
         <input type="hidden" name="item_name" value="Room Rent for <?php echo $data['name']; ?>"> 
         <input type="hidden" name="item_number" value="<?php echo $_SESSION['id']; ?>"> 
         <input type="hidden" name="credits" value="510"> 
         <input type="hidden" name="userid" value="<?php echo $_SESSION['id']; ?>"> 
         <input type="hidden" name="amount" value="<?php echo $total_cost; ?>"> 
         <input type="hidden" name="start_time" value="<?php echo $start_time; ?>" /> 
         <input type="hidden" name="end_time" value="<?php echo $end_time; ?>" /> 
         <input type="hidden" name="agent_id" value="<?php echo $data['agent_id']; ?>" /> 
         <input type="hidden" name="list_id" value="<?php echo $data['id']; ?>" /> 
         <button type="submit" class="btn5 btn-primary btn-sm" name="book">Book Now</button> 
        </form> 

Итак, позвольте мне объяснить, что я сделал здесь я создал 2 формы в первой форме. Я хочу, чтобы пользователь нажимал на отправку, когда пользователь отправляет всю информацию в базу данных afte r он сохраняет его с автоматическим идентификатором последнего id, и я хочу, чтобы этот идентификатор был идентификатором транзакции, поэтому я отправил этот идентификатор на paypal для и paypal без формы. Я не могу отправить информацию, поэтому я использовал следующие шаги для этого.

<?php 
    if(isset($_POST['book'])) { 
     $user_id = $_POST['userid']; 
     $agent_id = $_POST['agent_id']; 
     $list_id = $_POST['list_id']; 
     $business = $_POST['business']; 
     $item_name = $_POST['item_name']; 
     $item_num = $_POST['item_number']; 
     $amount = $_POST['amount']; 
     $item_num = $_POST['item_number']; 
     $start_time= $_POST['start_time']; 
     $end_time = $_POST['end_time']; 
     $qry_sql = mysqli_query($connection, "INSERT INTO bookings (user_id, agent_id, list_id, booking_date, start_time, end_time, price, status) VALUES ('$user_id', '$agent_id', '$list_id', '".date('d-m-Y')."', '$start_time', '$end_time', '$amount', 'Pending')"); 
     $trans_id = mysqli_insert_id($connection); 
     if($qry_sql) { 
      $co_ammount = $amount/100 * 25; 
      $agent_ammount = $amount - $co_ammount; 
      $due_date = date('d-m-Y', strtotime("+2 days")); 
      $qry_sql1 = mysqli_query($connection, "INSERT INTO financial (agent_id, booking_id, order_date, due_date, total_ammount, agent_ammount, co_ammount, status) VALUES ('$agent_id', '$trans_id', '".date('d-m-Y')."', '$due_date', '$amount', '$agent_amount', '$co_ammount', 'Pending')"); 

?> 
      <script> 
      $('#frmPayPal1').submit(); 
      </script> 
      <form action="<?php echo $_POST['paypal_url']; ?>" method="post" id="frmPayPal1"> 
       <input type="hidden" name="business" value="<?php echo $business; ?>"> 
       <input type="hidden" name="cmd" value="_xclick"> 
       <input type="hidden" name="item_name" value="<?php echo $item_name; ?>"> 
       <input type="hidden" name="item_number" value="<?php echo $trans_id; ?>"> 
       <input type="hidden" name="userid" value="<?php echo $user_id; ?>"> 
       <input type="hidden" name="amount" value="<?php echo $amount; ?>"> 
       <input type="hidden" name="no_shipping" value="1"> 
       <input type="hidden" name="currency_code" value="USD"> 
       <input type="hidden" name="handling" value="0"> 
       <input type="hidden" name="cancel_return" value="http://dev.uparksf.com/cancel.php?tx=<?php echo $trans_id; ?>"> 
       <input type="hidden" name="return" value="http://dev.uparksf.com/success.php"> 
      </form> 
    <?php } ?>  
<?php } ?> 

ответ

1

только один более, что вам нужно сделать, вместо

<script> 
    $('#frmPayPal1').submit(); 
</script> 

должно быть:

<script> 
    $(document).ready(function(){ 
     $('#frmPayPal1').submit(); 
    }) 
</script> 

и что должно работать!

+0

это не сработало, но перенаправление на paypal было бы возможно, что оно помещено на нижнем колонтитуле и просто потому, что оно не перенаправляется? –

+0

Вы уверены, что 'paypal_url' определен правильно? у вас есть jQuery на этой странице? попробуйте поставить 'console.log (« Я здесь »)' рядом с кодом отправки и посмотреть, если он выполнен –

+0

ничего не отображается в контрольном журнале консоли. Также обновляю форму –

0

Поместите инструкцию отправки после тега закрытия формы. Javascript является процедурным, поэтому, отправляя заявку перед формой, вы отправляете форму до ее загрузки.

Смежные вопросы