2013-10-14 38 views
0

我正在使用Perl購物車。我的客戶希望產品在客戶將其添加到購物車後立即變得對他人無效。如果用戶在未完成訂單的情況下關閉瀏覽器,則產品應該再次可用。使用Perl從服務器獲取所有客戶端的會話值

是否可以從服務器中訪問Perl中所有在線的客戶端會話值,或者是有另一種方式我可以再次使用的產品,如果一個人關閉瀏覽器沒有下訂單。

我不想接近使用彈出窗口上,因爲它們一般是由用戶阻止。

+0

該語言稱爲Perl,您執行Perl運行的二進制文件稱爲perl,不存在PERL之類的東西。 – Quentin

回答

1

是否可以從服務器

是訪問所有的網絡客戶端的會話值。這種方式將取決於您正在使用的會話庫,但這當然是可能的。

,當你把它們添加到別人的車,雖然這將是簡單,因爲在主數據庫中保留標記的項目。會話數據是針對用戶的私有數據,而不是全局數據。

是有一個人如果關閉瀏覽器,通過它未做爲了

沒有辦法,如果瀏覽器被關閉,以可靠地檢測的方式。即使它有,那麼用戶可能在同一個站點上沒有關閉的另一個窗口。

通常的基本的方法來解決,這是保留的項目,用於當它被添加到所述籃一定量的時間。你可以告訴用戶他們有多少時間。這是預訂座位劇院常用的方法。

你的座位將被保留20分鐘。如果您在此時沒有完成您的訂單,它們可能會被釋放,而其他人可能會保留它們。

稍微複雜一些的方法是每當用戶(由會話標識)與站點交互時延長預留時間。如果用戶瀏覽網站併購買多件商品,則可能需要這樣做。

您可以使用cron作業清理舊的保留(已過期)。

0

你可以有JavaScript的顯示一個警告框,當有自己的購物車中的商品,告訴他們在購物車中他們的產品可能會丟失給其他用戶。

假設這是最後一項,並且他們按下OK,您可以創建一個函數,將所需的任何信息提交給服務器,告訴用戶放棄購物車中的物品。

相關問題