您好,我是第一次發佈海報。我試着尋找答案,但是從已發佈的材料中我沒有發現任何明顯的問題。我需要另一雙眼睛,因爲我無法弄清楚爲什麼我的表單數據沒有發佈。表單數據不會發送以後PHP處理
我正在使用會話變量來存儲短期購物車。最終,在結賬時,這個訂單數據將被最終確定到數據庫。當我提供我的購物車內容進行審查時,我需要爲我的客戶提供更新數量(或刪除)的自由。保持這是整潔越好,這裏的車內容的HTML渲染(無標題,總計等):
<form action="mas_cart.php" method="post">
<table id="shCart" border="1" width="800px" cellspacing="0">
<tr>
<td align="left">DSC0679</td>
<td align="left">7.2H x 11W Glossy Paper </td>
<td align="center">No</td><td align="center">$55</td>
<td align="center">
<input id="inp_qty" type="text" name="DSC0679_unsigned_7.2H x 11W Glossy Paper $55" value="1" size="3">
</td>
<td align="right">55.00</td>
</tr>
<tr>
<td align="left">MRS5293</td>
<td align="left">7.3H x 11W Glossy Paper </td>
<td align="center">Yes</td>
<td align="center">$55</td>
<td align="center">
<input id="inp_qty" type="text" name="MRS5293_signed_7.3H x 11W Glossy Paper $55" value="1" size="3">
</td>
<td align="right">55.00</td>
</tr>
<tr>
<td align="left">MRS5293</td>
<td align="left">7.3H x 11W Glossy Paper </td>
<td align="center">No</td>
<td align="center">$55</td>
<td align="center">
<input id="inp_qty" type="text" name="MRS5293_unsigned_7.3H x 11W Glossy Paper $55" value="2" size="3">
</td>
<td align="right">110.00</td>
</tr>
</table>
<input type="hidden" name="save" value="true"/>
<input type="image" src="images/save-changes.png" style="border:1px solid rgb(50,50,50)" alt="Save Changes"/>
</form>
,這裏是這是應該處理更新的PHP代碼:
//update section
if(isset($_POST['save'])) {
foreach ($_SESSION['cart'] as $item => $qty) {
if($_POST[$item]==0 || $_POST[$item]=="") {
unset($_SESSION['cart'][$item]); }
else {
$_SESSION['cart'][$item] = $_POST[$item];} }
在執行中,$_POST['save']
設置正確,但$_POST[$item]
回報未定義指數:
注意:未定義指數:DSC0679_unsigned_7.2H X 11W光面紙$ 55 C:\ XAMPP \ HTDO在線CS \ AAA \ mas_cart.php 57
注意:未定義指數:MRS5293_signed_7.3H X 11W光面紙$ 55 C:\ XAMPP \ htdocs中\ AAA \ mas_cart.php上線57
注意:未定義指數:MRS5293_unsigned_7.3H X 11W光面紙$ 55 C:\ XAMPP \ htdocs中\ AAA \ mas_cart.php上線57
基本上,在後處理的條件總是呈現爲真,因爲該指數是不確定的,所以更新吐出錯誤並清除購物車。我知道這是可恨的,要求別人來看看我的代碼,但是我有最糟糕的時間搞清楚了。任何建議將不勝感激!幫幫我?
使用print_r($ _ POST);檢查腳本實際提交的內容 –
您的輸入名稱無效,並且未定義。有空格,點,美元符號等,這不會洗。因此'注意:未定義的索引';-) –
另外,在輸入名稱中有一個在其左右兩側帶有空格的'x',PHP試圖做數學運算,但它不知道如何正確計數。 *咳嗽* –