作者 主題: 制作購物網頁時refresh的問題  (閱讀 3444 次)

0 會員 與 1 訪客 正在閱讀本文。

hover

  • 懷疑的國中生
  • **
  • 文章數: 66
    • 檢視個人資料
制作購物網頁時refresh的問題
« 於: 2004-08-27 08:44 »
各位學長~

小弟依據書中範例制作線上購物網頁時發現,在點選欲購買的品項後(尚未結帳前)
按下網頁"重新整理"會讓"同樣"品項增加,每按一次就增加同樣品項…
小弟對PHP是新手,因此遇到這類問題不知道該如何處理比較好,書上似乎也沒提到這類問題,所以請教學長們我該如何解決這個問題呢??
因程式碼眾多,以下僅提供線上購物"新增" 程式碼 ...
---test_add.php---

<?php
session_start();
require("db5.php");
require("test_cart.php");

$sid=session_id();               //使用session_id函數,將sid號碼記錄下來
$id=$_GET["id"];               //取得test_shop.php送出id數字
$qty=$_GET["qty"];               //取得test_shop.php送出qty數字

//加入訂單資料
$cart=new cart;                  //將物件存入變數!以 new 保留字建立一個cart類別的物件 (1.)
$cart->add_item($sid,$id,$qty);      //<動作>取用class cart 裏的 add_item()屬性 (2.)

//顯示訂單內容
require("test_display.php");      // 匯入 test_display.php 程式(並未執行)
$result=$cart->get_cart($sid);      //<動作>使用 get_cart()屬性顯示訂單內容
display($result);               //<動作>使用 fuction display()屬性 顯示結果

//顯示金額
$total=$cart->cart_total($sid);      //<動作>使用 cart_total()屬性計算金額
echo "</table><p><font size=5><b>總金額: ".$total." 元</b></font>";
?>

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
制作購物網頁時refresh的問題
« 回覆 #1 於: 2004-08-30 10:46 »
當使用者再按下一次refresh時
ie會再次送出之前傳過的資料
所以就會導致資料連續送出兩次拉
要避免這樣的問題
比較好的解決方式是
原本
送出資料->a.php->回應
解決
送出資料->a.php->redirect header(重新導向)->a.php->回應
這樣就可以解決了
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

hover

  • 懷疑的國中生
  • **
  • 文章數: 66
    • 檢視個人資料
制作購物網頁時refresh的問題
« 回覆 #2 於: 2004-09-01 16:59 »
引述: "ricky"
當使用者再按下一次refresh時
ie會再次送出之前傳過的資料
所以就會導致資料連續送出兩次拉
要避免這樣的問題
比較好的解決方式是
原本
送出資料->a.php->回應
解決
送出資料->a.php->redirect header(重新導向)->a.php->回應
這樣就可以解決了


嗯…可否舉簡單例子給小弟呢?
麻煩您 :)

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
制作購物網頁時refresh的問題
« 回覆 #3 於: 2004-09-02 08:41 »
看看這一篇
兩個原理是一樣的
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/