2015-10-19 4 views
0

У меня есть форма с кнопкой отправки.Почему моя кнопка отправки не перенаправляется

<input type="submit" name="submitOrder" id="submitOrder" value="Purchase" class="btn btn-warning"> 

Ниже этого у меня есть пара строк кода:

<?php 
    if (isset($_POST['submitOrder'])) { 
     header ("location:payment.php?discount=". $discountCode .""); 
    } 
?> 

Почему же эта кнопка при нажатии, делать ничего, но перегружать страницу? Я хочу, чтобы он перенаправлял пользователя на payment.php?

Вся форма с кнопки отправки ...

<form method="post" action="cart_update.php"> 
    <div class="row" style="padding-bottom: 10px;"> 
     <div class="col-md-2"> 
      <strong>Quantity</strong> 
     </div> 
     <div class="col-md-3"> 
      <strong>Name</strong> 
     </div> 
     <div class="col-md-2"> 
      <strong>Price</strong> 
     </div> 
     <div class="col-md-2"> 
      <strong>Total</strong> 
     </div> 
     <div class="col-md-3"> 
      <strong>Remove</strong> 
     </div> 
    </div> 

    <?php 
     if(isset($_SESSION["cart_products"])) { // Check session var 
      $total = 0; // Set initial total value 

      foreach ($_SESSION["cart_products"] as $cart_itm) { 
       // Set variables to use in content below 
       $ProductName = $cart_itm["ProductName"]; 
       $product_qty = $cart_itm["product_qty"]; 
       $Price = $cart_itm["Price"]; 
       $ProductCode = $cart_itm["ProductCode"]; 
       $subtotal = ($Price * $product_qty); // Calculate Price x Qty 
       echo '<div class="row" style="padding: 10px 0;">'; 
       echo '<div class="col-md-2">Qty: <input type="text" size="2" maxlength="4" name="product_qty['. $ProductCode .']" value="'. $product_qty .'" /></div>'; 
       echo '<div class="col-md-3">Product Name: '. $ProductName .'</div>'; 
       echo '<div class="col-md-2">Price: '. $currency . $Price .'</div>'; 
       echo '<div class="col-md-2">Total: £'; 
       echo money_format('%i', $subtotal);    
       echo '</div>';      
       echo '<div class="col-md-3"><input type="checkbox" name="remove_code[]" value="'. $ProductCode .'" /></div>'; 
       echo '</div>'; 
       echo '<hr>'; 
       $total = ($total + $subtotal); // Add subtotal to total var 
       $grand_total = $Price * $product_qty; 
      } 

      $grand_total = $total + $shipping_cost; // Grand total including shipping cost 
      foreach($taxes as $key => $value) { // List and calculate all taxes in array 
       $tax_amount = round($total * ($value/100)); 
       $tax_item[$key] = $tax_amount; 
       $grand_total = $grand_total + $tax_amount; // Add tax val to grand total 
      } 

      $list_tax = ''; 

      foreach($tax_item as $key => $value) { // List all taxes 
       $list_tax .= $key. ' : '. $currency . sprintf("%01.2f", $value).'<br />'; 
      } 

      $shipping_cost = ($shipping_cost) ? 'Shipping Cost: ' . $currency . sprintf("%01.2f", $shipping_cost).'<br />':''; 
     } 
    ?> 

    <br /> 

    <div class="row"> 
     <span style="float: right; text-align: right; width: 100%;">Amount Payable: <strong>£<?php echo sprintf("%01.2f", $_SESSION['grand_total'] = $grand_total); ?><br />Price inc. VAT and Postage + Packaging</strong><br />Discount Code: <input type="text" name="discountCode" id="discountCode" value="TEST" /></span> 

     <br /> 
     <br /> 

     <a href="index.php" class="btn btn-warning">Continue Shopping</a> 
     <button type="submit" class="btn btn-warning">Update</button> 
     <!-- <a href="payment.php" class="btn btn-warning">Purchase</a> --> 
     <input type="submit" name="submitOrder" id="submitOrder" value="Purchase" class="btn btn-warning"> 

     <?php 
      if (isset($_POST['submitOrder'])) { 
       header ("location:payment.php?discount=". $discountCode .""); 
      } 
      $_SESSION['ProductName'] = $ProductName; 
      $_SESSION['product_qty'] = $product_qty; 
      $_SESSION['grand_total'] = $grand_total; 
     ?> 
    </div> 

    <input type="hidden" name="return_url" value="<?php $current_url = urlencode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); echo $current_url; ?>" /> 
</form> 
+1

Отправьте ваш код от

+0

Вы можете разместить свой полный код? – Saty

+1

Вы уверены, что перед 'header();'? – Daan

ответ

-1

обеспечить самый первый элемент, возвращаемый является заголовок, без пробелов или что-нибудь в своем распоряжении, т.е.

Проверьте файлы журналов Echos или текста заголовки уже отправлены

ошибки позиционирования

убедитесь, что кнопка находится внутри формы

0

проблема заключается в том, есть выход, прежде чем отправить г edirect headers, потому что ваше условие находится в разделе html.

Вы должны поместить код с переадресацией, прежде чем какой-либо вывод будет отправлен клиенту. Другой вариант - включить буферизацию вывода, но это также должно быть сделано, прежде чем что-то будет отправлено клиенту.

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