-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-17 12:31 pm
安裝這個功能,[玩家訊息]分成[接收訊息]與[傳送訊息]也有安裝 http://www.et99.org/viewtopic.php?t= ... 340cb45cf5公會跟裝備的訊息都可以顯示,沒發現問題或是錯誤 不過銀行的就有問題... OTL 假設A匯款到B A的"情報中心-傳送訊息"會出現新訊息,不過是空白 B的"情報中心-傳送訊息"也會出現新訊息,不過只有匯款者的名稱 我的代碼 - 代碼: 選擇全部
function bank_save($user_id,$pay_id,$money) { global $DB_site,$lang,$_POST; $have_price=$DB_site->query_first("select p_name,p_money,p_lv,p_bbsid from wog_player where p_id=".$user_id.""); if($have_price['p_lv']<15 || !is_numeric($money) || $money <=0 || $have_price['p_money'] < $money) { alertWindowMsg($lang['wog_act_bank_noues']); }else { if($user_id != $pay_id) { $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$pay_id.",'".$have_price[p_name]." 匯入 ".$money."元 到你的銀行 ',".(time()+13*3600).")"); $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$user_id.",'你匯出 ".$money." 元 到 ".$_POST["pay_id"]." 的戶頭 ',".(time()+13*3600).")"); $p=$DB_site->query_first("select p_bbsid from wog_player where p_id=".$pay_id.""); $DB_site->query("update ".USER_TABLE." set ".BANK_FIELB." = ".BANK_FIELB."+".$money." WHERE ".USER_ID."=".(empty($forum_message)?$pay_id:$p['p_bbsid'])); }else { $DB_site->query("update ".USER_TABLE." set ".BANK_FIELB." = ".BANK_FIELB."+".$money." WHERE ".USER_ID."=".(empty($forum_message)?$user_id:$have_price['p_bbsid']).""); } $DB_site->query("update wog_player set p_money = p_money-".$money." where p_id=".$user_id.""); showscript("parent.job_end(4)"); } }
傳跟收錢玩家都有新訊息,$pay_id跟$user_id都有取到值 A玩家的身上現金也有扣款,$money也有取到值 為什麼訊息就是不顯示呢.. T____T 請問有人能幫忙嗎? 感謝~~~~~~~~
最後由 stu6707 於 2010-11-22 3:20 pm 編輯,總共編輯了 1 次。
-
ETERNAL
-
- 文章: 2937
- 註冊時間: 2003-12-03 11:08 pm
- 性別: 男生
-
由 ETERNAL » 2010-11-17 3:11 pm
5年前...好懷念的功能 呵呵
涅魂好像在準備上研究所,不知道有沒有空回來
水色論壇 http://www.et99.net 簡恩峻分享
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-17 4:44 pm
我有是過重裝wog,全部都是最原始,沒有任何外掛或是改變 function bank_save裡就只有收錢玩家顯示 - 代碼: 選擇全部
$DB_site->query("insert into wog_message(p_id,title,dateline)values(".$pay_id.",'".$have_price[p_name]." 匯入 ".$money."元 到你的銀行 ',".time().")");
也是一樣只會顯示傳錢的玩家名稱,不會顯示匯款有多少 @@ 是我下的壓縮檔有問題嗎?
-
ETERNAL
-
- 文章: 2937
- 註冊時間: 2003-12-03 11:08 pm
- 性別: 男生
-
由 ETERNAL » 2010-11-18 9:20 am
我猜$money可能是空的吧
可以echo $money 查看一下
細節要問涅魂了,這功能是他做的
水色論壇 http://www.et99.net 簡恩峻分享
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-19 3:00 pm
我在 - 代碼: 選擇全部
showscript("parent.job_end(4)");
上面加入 - 代碼: 選擇全部
alertWindowMsg($money);
(不會用echo..... orz..) 有跳出金額欄位填的數字,$money是有取到值的 到底出了什麼問題..... =.=
-
ETERNAL
-
- 文章: 2937
- 註冊時間: 2003-12-03 11:08 pm
- 性別: 男生
-
由 ETERNAL » 2010-11-19 9:57 pm
那就很奇怪了 看看是不是資料的長度太長 被截掉之類的
要不然寫死多測試看看
水色論壇 http://www.et99.net 簡恩峻分享
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-20 11:25 am
我把訊息改成英文 - 代碼: 選擇全部
$DB_site->query("insert into wog_message(p_id,title,dateline)values(".$pay_id.",'".$have_price[p_name]." transfer \$".$money." to your account',".(time()+13*3600).")"); $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$user_id.",'you transfer \$".$money." to ".$_POST["pay_id"]." \'s account ',".(time()+13*3600).")");
可以insert進去..... 收錢的玩家可以在情報中心看到完整的訊息,第一句有被執行 不過匯款的玩家進不去情報中心.. 我在sql裡可以看到匯款的完整訊息,第二句也有被執行,只是進不去就不知道是為什麼了........ 看來是中文寫不進去..... =.= 可是轉移裝備或是傳訊都可以寫入和顯示,為什麼獨獨銀行出問題... @@? 上網找資料,好像牽扯到字符長度,字符編碼.. OTL 好複雜... 只好等有時間在研究研究了 0.0
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-22 3:30 pm
問題解決一半了..... =.=" 我在 - 代碼: 選擇全部
$DB_site->query("insert into wog_message(p_id,title,dateline)values(".$pay_id.",'".$have_price[p_name]." 匯入 ".$money."元 到你的銀行 ',".time().")");
上增加 - 代碼: 選擇全部
mysql_query("SET NAMES 'big5'");
訊息是有插進去,在情報中心也有顯示,只是傳送跟接收會員的名稱變亂碼.... OTL 傳錢會員的情報中心 收錢會員的情報中心 請求高手幫忙.. <(_ _)> 感激~~~~
-
ETERNAL
-
- 文章: 2937
- 註冊時間: 2003-12-03 11:08 pm
- 性別: 男生
-
由 ETERNAL » 2010-11-23 9:19 am
那應該是編碼的問題
看你WOG用什麼編碼,資料庫就用什麼編碼
如果是UTF-8的話,去看一下WOG安裝設定
有教你加上下面這幾行 $db->query_first("SET NAMES utf8;"); $db->query_first("SET CHARACTER_SET_CLIENT=utf8;"); $db->query_first("SET CHARACTER_SET_RESULTS=utf8;");
水色論壇 http://www.et99.net 簡恩峻分享
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-23 2:55 pm
那3句在forum_support/global.php 有看到,難道要每個php裡都要放 @@? 問題已經解決了~ 我用iconv()把$have_price[p_name]轉成big5,所以整句都是已big5插入資料庫.. 不知會不會有問題 0.0 在wog_act_store.php裡隨便一function裡加入insert into wog_message,中文都插不進去 =.= 可是wog_act_arm.php就沒這問題,中文也可以進去.. 請問為什麼store會有問題 0.0? 增加新問題 請問要如何在og_act_arm.php裡的轉移裝備訊息加入數量? - 代碼: 選擇全部
$DB_site->query("insert into wog_message(p_id,title,dateline)values(".$pay_id[0].",'從 ".$p_name." 收到 ".$d_name." ',".(time()+13*3600).")");
裡面的".$d_name."變成".$d_name."\*".$item_num." 我已在function裡加入 - 代碼: 選擇全部
$item_num=$_POST["item_num"];
可是都顯示不出來 Orz...
-
ETERNAL
-
- 文章: 2937
- 註冊時間: 2003-12-03 11:08 pm
- 性別: 男生
-
由 ETERNAL » 2010-11-23 4:31 pm
stu6707 寫:那3句在forum_support/global.php 有看到,難道要每個php裡都要放 @@? 問題已經解決了~ 我用iconv()把$have_price[p_name]轉成big5,所以整句都是已big5插入資料庫.. 不知會不會有問題 0.0 在wog_act_store.php裡隨便一function裡加入insert into wog_message,中文都插不進去 =.= 可是wog_act_arm.php就沒這問題,中文也可以進去.. 請問為什麼store會有問題 0.0? 增加新問題 請問要如何在og_act_arm.php裡的轉移裝備訊息加入數量? - 代碼: 選擇全部
$DB_site->query("insert into wog_message(p_id,title,dateline)values(".$pay_id[0].",'從 ".$p_name." 收到 ".$d_name." ',".(time()+13*3600).")");
裡面的".$d_name."變成".$d_name."\*".$item_num." 我已在function裡加入 - 代碼: 選擇全部
$item_num=$_POST["item_num"];
可是都顯示不出來 Orz...
1.看你WOG用什麼編碼,資料庫就用什麼編碼 這才是重點,也是治本的方式 只要global.php放就可以了 2. echo $item_num 試試看有沒有值
水色論壇 http://www.et99.net 簡恩峻分享
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-11-23 4:50 pm
1. 我是用utf8的,global.php已經放了 其它php文件寫入wog_message都沒問題,就是wog_act_store.php有問題..
2.我有試過alertWindowMsg($_POST["item_num"]),出來是空值,這樣對嗎? 我看pay_id也是用$_POST來接值,pay_id & item_num都是在js輸入了,再傳到wog_act.php 既然同樣地方輸入跟傳到同樣地方,那item_num用$_POST應該也是可以接到的.. 可是是空值.. ORZ
-
ETERNAL
-
- 文章: 2937
- 註冊時間: 2003-12-03 11:08 pm
- 性別: 男生
-
由 ETERNAL » 2010-11-23 5:35 pm
stu6707 寫:1. 我是用utf8的,global.php已經放了 其它php文件寫入wog_message都沒問題,就是wog_act_store.php有問題..
2.我有試過alertWindowMsg($_POST["item_num"]),出來是空值,這樣對嗎? 我看pay_id也是用$_POST來接值,pay_id & item_num都是在js輸入了,再傳到wog_act.php 既然同樣地方輸入跟傳到同樣地方,那item_num用$_POST應該也是可以接到的.. 可是是空值.. ORZ
1. 加油了 2. 邏輯沒錯,我也不知道為什麼你會空值 多try吧
水色論壇 http://www.et99.net 簡恩峻分享
-
stu6707
-
- 文章: 162
- 註冊時間: 2008-10-26 1:00 pm
由 stu6707 » 2010-12-14 12:32 pm
兩個問題都解決了..... 銀行轉帳,原來是php編碼問題 =.=.. 改成utf-8就可以了
加入數量顯示,wog.js中item_num傳到wog_act_arm.php是$_POST["temp_id"],不是$_POST["item_num"]
感謝ET大的耐心解答 ^^
|