ecshop退出登入會清空購物車的bug優化,最完美解決方法
ecshop退出登陸後,會清空購物車,大家都應該知道有這樣的勉強算bug的問題。 網上類似的教程相當多,但都有問題,說句不好聽的,算是引新手入歧途!
總結網上方法如下:
1、修改init.php,把sess_id繫結ip的。老楊點評:各種紊亂不解釋。
2、修改cls_session.php,讓user_id不為0的購物車商品在退出時不刪除,修改lib_main.php,將購物車中sess_id換成新的session_id。 老楊點評:算是到了點子上的改法,但是在不同設定或瀏覽器訪問時,會照成其它裝置上的出問題!必須重新登入才能解決!在手機流行的年代,如果手機和pc同時登入,或兩臺電腦檯時登入,你會崩潰的,登了這邊,那邊購物車就空了,除非重新登入!
3、其它的方法,各種坑,不再列舉。
方法:
1、修改includes/cls_session.php 找到(268行左右):
if (!empty($GLOBALS['ecs'])) { $this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id' ); }
替換為:
if (!emptyempty($GLOBALS['ecs'])) { $this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id' AND user_id = 0");//www.lyecs.com 只清空匿名** }
2、找到includes/init.php
define('SESS_ID', $sess->get_session_id());
替換為:
//判斷是否存在user_id的session,避免高版本PHP報錯if(isset($_SESSION['user_id'])){ //如果存在會員登入 if($_SESSION['user_id']>0){ //取得對應user_id的session MD5碼,後面加入'@lyecs.com'自定義的自符串加密。 $user_session=md5($_SESSION['user_id'].'@lyecs.com'); //'@lyecs.com'內容可自行修改 //取得之前的session_id,www.lyecs.com $old_session=$sess->get_session_id(); //如果會員的session_id和原先的session_id不同(則為新登入情況),則將購物車內原session_id的商品,更新為會員下的商品! if($user_session != $old_session){ $sql="update ".$GLOBALS['ecs']->table('cart')."set session_id='".$user_session."',user_id='".$_SESSION['user_id']."' where session_id='".$old_session."' "; $GLOBALS['db']->query($sql); } //定義新的會員唯一session_id define('SESS_ID',$user_session); }else{ //不存在會員,繼續用原有的session_id define('SESS_ID', $sess->get_session_id()); } }else{ //不存在會員,繼續用原有的session_id define('SESS_ID', $sess->get_session_id()); }
3、同理,mobile/includes/init.php也改下。第2條是重點,已全部註釋
相關推薦
ecshop退出登入會清空購物車的bug優化,最完美解決方法
ecshop退出登陸後,會清空購物車,大家都應該知道有這樣的勉強算bug的問題。 網上類似的教程相當多,但都有問題,說句不好聽的,算是引新手入歧途! 總結網上方法如下: 1、修改init.php,把sess_id繫結ip的。老楊點評:各種紊亂不解釋。 2、修改cls_session.php,讓use
document.write() 為什麽會清空頁面
alt str details body 瀏覽器 覆蓋 nload 遇到 加載 很久以前遇到的問題,放著放著就忘記去研究了最近看到一篇文章總結一下作者:abloumeurl: http://blog.csdn.net/u013451157/article/details
Vue中解決陣列在被清空的情況下,頁面仍會存在快取資料的問題
一,情況描述 1.1 點選完成按鈕 1.2 發現該資料沒有被清空 二,問題所在 2.1 查詢出來的陣列為null 由於使用父子件傳輸的方式進行傳遞資料,因為父元件從介面獲取資料的時候,當獲取到的資料為空,就會變成null。然後將這個
退出APP、清空任務棧、殺掉主程序
private static boolean finishAndRemoveAllTasks() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
jsp,el表示式,會話管理,cookie,session技術,session的建立和銷燬/清空購物車
第一部分:jsp入門和el表示式入門 1、jsp的入門 1.1 什麼是jsp: (1)sun公司用於動態網站開發技術 servlet ,因為使用servlet如果向頁面輸出內容很麻煩, 有了jsp,使用jsp向頁面輸出內容很方便,jsp就是servl
AngularJS+清空購物車+全選+sort排序
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t
Newbe.Claptrap 框架入門,第二步 —— 簡單業務,清空購物車
接上一篇 Newbe.Claptrap 框架入門,第一步 —— 建立專案,實現簡易購物車 ,我們繼續要了解一下如何使用 Newbe.Claptrap 框架開發業務。通過本篇閱讀,您便可以開始嘗試使用 Claptrap 實現業務了。 開篇摘要 本篇,我通過實現 “清空購物車” 的需求來了解一
怎麽恢復手機中誤清空的文件 手機數據恢復方法
隨著手機辦公越來越方便快捷化,手機也成為辦公的重要工具,裏面也保存著我們的重要文件數據。當我們在清理手機數據的時候,總是會誤清空手機裏的文件數據,比如上學期間,學習發的各種活動通知和考試安排。這文件被清空,就真的很麻煩。那我們該怎麽恢復手機中被誤刪除的文件呢? 強力數據恢復軟件是一款
jQuery清空復選框,下拉框,輸入框
下拉 div edi 賦值 rop 更改 check sele bsp 在做前端頁面是有時需要清空或者更改一些input輸入框,select下拉框,checkbox復選框,還有普通div,span包裹的值,特別是使用ajax的時候,更需要這些 清空id為靜態aaa的 inp
誤清空回收站的檔案,也可以找回來嗎?
相信大家的windows系統的回收站都是放置於系統盤的吧,回收站的檔案過多會影響我們系統盤的使用的,所有大多是人都有清除回收站資料的習慣,但是總會遇到想要找回的時候呀。**superrecovery**的誤清空回收站資料恢復功能對資料進行恢復處理。【當然,超級資料恢復軟體的誤清空回收站資料恢
oracle truncate 清空表遇ora-02266錯誤的解決辦法
ORA-02266“唯一/主鍵被啟用的外部關鍵字引用”。 今天遇到怪問題,要truncate 的表沒有外來鍵關聯,使用delete table_name 可以刪除,使用truncate確報錯,真是奇怪!? 解決辦法: 1.主鍵失效;alter table table_na
怎麼清空arraylist的值,,,能清乾淨嗎
package Test;import java.util.ArrayList;import java.util.List;public class ClearList { public static void main(String[] args){ L
input file選擇檔案上傳後清空選擇框檔案資訊兩種解決方案
上傳檔案時,選擇了檔案後想清空檔案路徑。用兩種方法解決 <input type="file" id="fileupload" name="file" /> 第一種: var obj =
TokeyTyrant (TT Server) ULog 管理,資料清空以及結構優化
TT Server 做為比較方便的KV系統,他提供了Memcache協議進行資料操作,但是沒有提供API來作為對其的一個管理機制,他只提供了Shell的方式管理,並且文件相對來說比較少,所以我自己寫了一個TTServer的 Ulog 清理和資料庫自動清空的指令
C# DataGridView控制元件清空資料完美解決方法
C# DataGridView控制元件繫結資料後清空資料 在清除DataGridview的資料時: 1.DataSource為NULL(DataGridView.DataSource= null;)這樣會將DataGridView的列也刪掉。 2.用DataGridvi
VC快速清空樹控制元件(CTreeCtrl)所有記錄的方法,DeleteAllItems的使用
VC6中快速清空樹控制元件(CTreeCtrl)所有記錄的方法: DeleteAllItems清空記時會很慢.解決的方法是使用SetRedraw函式與之配合,用於提高速度. ctrTree.SetRedraw(FALSE); //使樹控制元件不可重畫 ct
回收站清空數據恢復,原來是這麽簡單
裝包 文件 mage 註冊 接下來 fff 影響 18C 軟件 回收站清空數據恢復,在回收站中有過多的文件存在的時候,用戶根據情況判斷會對大量的無用文件進行清空的操作,清空後文件就做永久刪除性質了,如果其中有較重要的文件一並刪除的話,各位知道回收站清空的數據怎麽恢復嗎?
學校 iPad 使用學校google帳號登入Google Drive 提示"裝置政策提醒"的解決方法
因為學校iPad 是給學生和老師使用,大多數是不需要設定鎖屏密碼的,然後 Gsuite 預設是開啟 “行動管理服務” 的策略為基本,就是需要裝置設定鎖屏密碼以保障資料安全,不那麼容易被竊取。 然後就出現了下圖的警告提示,並且就算登入了也是無法正常使用的,解決方法:1. 設定iPad 的鎖屏密碼即可,簡單有效
執行登入觸發器(sql server 2016限制IP訪問)後,登入sql server報錯: 由於執行觸發器,登入失敗已將資料庫上下文更改為master。解決方法:用cmd執行刪除登入觸發器
背景: 在cmd中執行osql命令: osql -S 【資料庫伺服器】 -E -i mysql.sql 其中mysql.sql內容如下: CREATE LOGIN test WITH PASSWORD = '輸入密碼' GO
在Angular輸入框內按下回車會觸發其它button的點選事件的解決方法
將不需要觸發事件的button上新增type="button"即可<button type="button" (click)="clickMe()">click</button>參考:https://stackoverflow.com/question