台灣最大程式設計社群網站
線上人數
2100
 
會員總數:246046
討論主題:189633
歡迎您免費加入會員
討論區列表 >> PHP >> Code4.3升級PHP5.3,資料庫像無法寫入
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Code4.3升級PHP5.3,資料庫像無法寫入
價值 : 50 QP  點閱數:194 回應數:13
樓主

cookie888
門外漢
0 2
48 11
發送站內信



Code4.3升級PHP5.3,資料庫好像無法寫入
登入會員如密碼錯他會判斷錯誤

但對的話無法顯示登入頁面
一值停在密碼對話框

我只是古代網頁設計硬改,┌不了解PHP,經過長久努力爬文查詢
好不容易把頁面錯誤都改出來

現在出現疑似無法寫入資料庫

還有這個Warning: Division by zero in 錯誤訊息,

我在這邊有爬文有爬到,但看不懂....

系統給的錯誤訊息列是紅字行

function calculate_credit($amount_order, $amount_cum_order) {
global $order;
$od_amount=0;
$table_cost = preg_split("[:,]" , MODULE_LOYALTY_DISCOUNT_TABLE);
for ($i = 0; $i < count($table_cost); $i+=2) {
if ($amount_cum_order >= $table_cost[$i]) {
$od_pc = $table_cost[$i+1];

$this->od_pc = $od_pc;
[b]
}
}

可否告知要如何修改(不好意思 因為真的不會)



請高手指導,感激不盡((跪~~



搜尋相關Tags的文章: [ php升級 ] , [ Code錯誤 ] , [ 資料庫無法寫入 ] , [ Warning: Division by zero in ] , [ ] ,
本篇文章發表於2020-08-28 19:52
1樓
作者回應

cookie888
檢舉此回應
第2個問題 我標的紅字不見了
無法編輯,更正在這邊


function calculate_credit($amount_order, $amount_cum_order) {
global $order;
$od_amount=0;
$table_cost = preg_split("[:,]" , MODULE_LOYALTY_DISCOUNT_TABLE);
for ($i = 0; $i < count($table_cost); $i+=2) {
if ($amount_cum_order >= $table_cost[$i]) {
$od_pc = $table_cost[$i+1];

$this->od_pc = $od_pc;
[color=Red]$od_pc = 100/$od_pc;[/color]
}
}
本篇文章回覆於2020-08-28 19:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

cookie888
檢舉此回應

第2個問題 我標的紅字不見了
無法編輯,更正在這邊

還有資料庫無法寫入(登入會員通通不work)


function calculate_credit($amount_order, $amount_cum_order) {
global $order;
$od_amount=0;
$table_cost = preg_split("[:,]" , MODULE_LOYALTY_DISCOUNT_TABLE);
for ($i = 0; $i < count($table_cost); $i+=2) {
if ($amount_cum_order >= $table_cost[$i]) {
$od_pc = $table_cost[$i+1];

$this->od_pc = $od_pc;
$od_pc = 100/$od_pc; <----系統給的錯誤行
}
}

$od_amount = $amount_order*$od_pc/100;

return $od_amount;
}
本篇文章回覆於2020-08-28 20:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
善用「程式碼標籤」,將程式碼貼在裡面


回歸正題:
1. 第一個問題你只是中文描述,說真的不知道怎麼幫你,有什麼報錯訊息嗎? 何謂疑似???
2. 第二個如題如下:
「Division by zero in ...」
其實警告訊息很明顯,分母不能為 0 (不能除以0的意思,數學老師應該有教唷)
所以你要提前判斷 $od_pc ,如果為0,就不要執行 「100/$od_pc」


本篇文章回覆於2020-08-29 11:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

彩虹
檢舉此回應
如果登入是使用AJAX,請使用瀏覽器的開發者工具,檢查一下
有可能只是因為報錯訊息造成無法取得正確的回傳值,所以才卡在登入頁面
總之就是將所有有關登入程式碼都貼上來 (要注意帳號密碼換掉)

(題外話:另外你是前端還是後端? 因為不知道你本身的程度在哪裡,所以如果有聽不懂的地方,可能要想另一個方式來協助你)
本篇文章回覆於2020-08-29 11:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

cookie888
檢舉此回應
感謝您的回覆
我的程度只會HTML, PHP的部分都是依產生錯誤訊息上網查詢硬改的
我有爬文看過分母那篇,知道是甚麼意思
但不知道要改哪裡??
不知道可麻煩直接跟我說這段我應該怎麼改嗎?因為真的完全沒有基礎



另外我所謂的疑似
就是我的網站中
只要有登入的部分
登入帳號\加入購物車\
它可判斷數據是否正確
但都無法加入,或是登入成功
所以我猜想是沒有寫進資料庫
所以才沒出現下一步((因為他指示重新跳回登入頁面,沒有任何報錯,所以就不知從何查起)

我是將osc php4.3 升級5.3發生的錯誤
我有上網查詢好像有提到 php4 跟5連結資料庫的方式不同
但詳情我也看不懂.....


如蒙賜教,真的會非常非常感謝~~

本篇文章回覆於2020-08-29 11:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

cookie888
檢舉此回應
這個是login頁面的程式碼

本篇文章回覆於2020-08-29 12:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

cookie888
檢舉此回應
還有購物車的部分,一整天都加不進去,但過了大約1天,突然又可以將商品加入了,但還是無法登入結帳
本篇文章回覆於2020-08-29 17:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

彩虹
檢舉此回應
1.分母不能為0,就加入判斷


2.原來是 osCommerce ,這一套購物模組系統我倒是沒用過
另外你提到 「它可判斷數據是否正確」 所以表示資料庫是可以連接的
所以有可能是其他問題,但是這個要檢查很多地方
例如 session 有沒有啟動等等

有辦法查出你的 osCommerce 版本嗎?
本篇文章回覆於2020-08-31 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

cookie888
檢舉此回應
非常感謝您提供的第一問題解法?待會立馬來試

osc版本是這個↓
Copyright (c) 2002 osCommerce

session 有沒有啟動←請問是要如何查看??

session檔 內容是這個↓再麻煩您幫忙解惑,感謝~~


本篇文章回覆於2020-08-31 11:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

彩虹
檢舉此回應
session是猜測的∼
實際原因要查很多地方,也有可能是 osCommerce 核心的部分也要更新

目前應該只是發現這些問題,但實際上可能很多地方都不能用∼

我另外問一下,後台登入系統是正常的嗎? (管理者介面)
本篇文章回覆於2020-08-31 14:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

cookie888
檢舉此回應
後台登入系統也不行,前台所有要寫入的,譬如搜尋,登入會員,加入購物車,全都不行
本篇文章回覆於2020-08-31 14:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
最有價值解答

彩虹
檢舉此回應
這樣實在不好處理
1.因PHP對你幾乎沒辦法自行修改
2.我們也無法直接看到實際狀況
3.osCommerce (2002) 很久遠,維護他的不合成本
3.雖然從 php4.3升級到5.3,偏偏 5.3也是很久遠的版本
本篇文章回覆於2020-08-31 22:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

cookie888
檢舉此回應
了解,謝謝您撥冗回覆~~~~
本篇文章回覆於2020-09-01 11:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.