2013-09-24 34 views
0

這是我的問題 - 當我點擊提交按鈕它應該執行一些代碼。不幸的是,它所做的只是使用提交的ID和值刷新頁面。 文件被稱爲Q2C.php。 這是代碼:PHP提交刷新頁面,並將提交的ID作爲參數

<?php 
if(isset($_POST['submit'])) { 
    $arraylength = count($selectedQuotes); 
    for($i = 0; $i < $arraylength; $i = $i + 1) { 
     $supplierQuoteID = $selectedQuotes[$i]; 
     $updateSQL = "UPDATE supplierquotes SET `Selected` = 1 WHERE `SupplierQuoteID` = '$supplierQuoteID'"; 
     $updateQuery = mysql_query($updateSQL); 

    } 
} 
?> 

<div class="buttons"> 
    <input type="submit" name="submit" id="submit" value="Create Q2C" /> 
    <input type="submit" name="cancel" id="cancel" value="Cancel" /> 
</div> 

它重定向我到這個網址:(路徑)/Q2C.php?submit=Create+Q2C

我怎樣才能阻止它從這裏重定向我,而不是僅僅執行if isset語句中的內容?

+0

在我看來,你的窗體的「方法」 '設置爲''GET''而不是''POST'' – Kippie

回答

4

你需要把你的按鈕放到表單中。

<form method="post"> 
    <input type="submit" name="submit" id="submit" value="Create Q2C" /> 
    <input type="submit" name="cancel" id="cancel" value="Cancel" /> 
</form> 

您應該考慮將第二次提交按鈕更改爲取消按鈕。

0

我沒有看到你的HTML一個<form>,但你需要使用POST,不GET

<form method=post> 
0

您沒有在上面的代碼完全提交表格,但很顯然從重定向的網址,您正在使用GET作爲表單的後期處理方法。在你的isset中檢查你使用的是$ _POST。更改表單方法發佈然後它會正常工作。

0

您需要指定方法。默認情況下,它的get

<div class="buttons"> 
    <form action="Q2C.php" method="post"> 
     <input type="submit" name="submit" id="submit" value="Create Q2C" /> 
     <input type="submit" name="cancel" id="cancel" value="Cancel" />  
    </form> 
</div> 
0

你或許應該用ajax提交表單,如果你不想刷新頁面。這裏是你可以指的是同一代碼:

$.ajax({ 
       type: "GET", 
       url: "abc.php", 
       data: "name="+form.name.value, 
       success: function(rs) 
       { 
          // do success stuffs here 
          } 
          }); 
0

你好我不知道如果我得到像你想提交一個表單Q2C.php用了所謂的「方法」你若不表格屬性您的問題糾正設置方法的所有,表單將使用GET方法作爲默認.....但從你的代碼似乎表格使用get提交給Q2C.php ....並且你說(isset($ _ POST ['submit']))這是錯誤的,因爲提交按鈕從來沒有設置..你需要做的是改變設置窗體的屬性方法爲「後」方法,然後再次運行代碼...你的窗體應該看起來像這樣...

.........