heiwa
客戶
離線
文章: 33
|
 |
« 於: 一月 28, 2005, 04:29:51 pm » |
|
小弟論壇會員註冊功能出現了問題.... 在搬家後...本人測試都無法完成測試動作..... 但是在舊論壇上測試是ok的..... 我有將我的論壇備份檔對二個論壇個自從新上傳... 舊論壇可以註冊,但新的還是無法完成 以下是我二個論壇的註冊連結.... 舊論壇註冊新論壇註冊請問這是哪裡出了問題呢??? 感謝回答
|
|
|
已記錄
|
|
|
|
acsite
|
 |
« 回覆文章 #1 於: 一月 28, 2005, 05:37:23 pm » |
|
正在研究中...
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #2 於: 一月 28, 2005, 05:42:42 pm » |
|
感謝.... 小弟也在研究中..........
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #3 於: 一月 31, 2005, 11:49:45 am » |
|
這有沒有可能是SQL的問題啊.....
|
|
|
已記錄
|
|
|
|
acsite
|
 |
« 回覆文章 #4 於: 一月 31, 2005, 12:11:58 pm » |
|
目前我們認為問題比較可能出在程式上面 因為如果SQL有問題的話 應該整個版面都無法顯示
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #5 於: 一月 31, 2005, 09:45:10 pm » |
|
程式是指php的程式碼有問題嗎???
對了 lycos 資料庫基本資料如下 phpMyAdmin MySQL-Dump : version 2.2.1-dev PHP Version: 4.3.8
|
|
|
已記錄
|
|
|
|
acsite
|
 |
« 回覆文章 #6 於: 一月 31, 2005, 09:58:55 pm » |
|
抱歉目前仍無法確定問題的原因
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #7 於: 二月 01, 2005, 09:38:43 pm » |
|
我發現我將以下程式碼拿掉 else if ( $mode == 'register' ) { if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($userrealname) || empty($commend) || empty($mobilephone) || empty($address) ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty']; } } 還是會出現 您必須確實填寫標示有*的項目 這串文字.......
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #8 於: 二月 04, 2005, 03:55:17 pm » |
|
我發現問題所在了 php 4.3.10 對我以下的程式碼無法判斷 //check gradeclass start 期班的選擇 if ( $mode == 'register' ) { if ( $usergradeclass_1 != '' && ( $usergradeclass_2 != '' || $usergradeclass_3 != '' || $usergradeclass_4 != '' )) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['gradeclass_double']; } else if ( $usergradeclass_2 != '' && ( $usergradeclass_3 != '' || $usergradeclass_4 != '' )) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['gradeclass_double']; } else if ( $usergradeclass_3 != '' && $usergradeclass_4 != '' ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['gradeclass_double']; } if (!$error) { if ( $usergradeclass_1 != '' ) { $usergradeclass = $usergradeclass_1; } else if ( $usergradeclass_2 != '' ) { $usergradeclass = $usergradeclass_2; } else if ( $usergradeclass_3 != '' ) { $usergradeclass = $usergradeclass_3; } else if ( $usergradeclass_4 != '' ) { $usergradeclass = $usergradeclass_4; } } if ( empty($usergradeclass) ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty']; } } //check gradeclass end
但是在 php 4.3.8 上是可以執行的...... :angry: 想辦法修改中 :unsure:
|
|
|
已記錄
|
|
|
|
acsite
|
 |
« 回覆文章 #9 於: 二月 04, 2005, 04:02:04 pm » |
|
很高興您已經找出原因 不好意思在這個問題上沒有提供什麼有用的協助
|
|
« 最後編輯時間: 二月 06, 2005, 07:52:38 pm 由 acsite »
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #10 於: 二月 04, 2005, 04:03:18 pm » |
|
應該是以下的程式碼出現了問題 if (!$error) { if ( $usergradeclass_1 != '' ) { $usergradeclass = $usergradeclass_1; } else if ( $usergradeclass_2 != '' ) { $usergradeclass = $usergradeclass_2; } else if ( $usergradeclass_3 != '' ) { $usergradeclass = $usergradeclass_3; } else if ( $usergradeclass_4 != '' ) { $usergradeclass = $usergradeclass_4; } } 因為我將以下程式碼拿掉 if ( empty($usergradeclass) ) { $error = TRUE; $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty']; } } //check gradeclass end
即可完成註冊.... 但是在SQL裡usergradeclass欄位裡確沒有看見任何資料
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #11 於: 二月 06, 2005, 07:45:55 pm » |
|
我修改為以下程式碼 if ( $mode == 'register' ) { $usergradeclass = ''; if (($usergradeclass_1 != '') && ($usergradeclass_2 = '') && ($usergradeclass_3 = '') && ($usergradeclass_4 = '') && ($usergradeclass_5 = '')) $usergradeclass = $usergradeclass_1; else if (($usergradeclass_1 = '') && ($usergradeclass_2 != '') && ($usergradeclass_3 = '') && ($usergradeclass_4 = '') && ($usergradeclass_5 = '')) $usergradeclass = $usergradeclass_2; else if (($usergradeclass_1 = '') && ($usergradeclass_2 = '') && ($usergradeclass_3 != '') && ($usergradeclass_4 = '') && ($usergradeclass_5 = '')) $usergradeclass = $usergradeclass_3; else if (($usergradeclass_1 = '') && ($usergradeclass_2 = '') && ($usergradeclass_3 = '') && ($usergradeclass_4 != '') && ($usergradeclass_5 = '')) $usergradeclass = $usergradeclass_4; else if (($usergradeclass_1 = '') && ($usergradeclass_2 = '') && ($usergradeclass_3 = '') && ($usergradeclass_4 = '') && ($usergradeclass_5 != '')) $usergradeclass = $usergradeclass_5; else if (($usergradeclass_1 = '') && ($usergradeclass_2 = '') && ($usergradeclass_3 = '') && ($usergradeclass_4 = '') && ($usergradeclass_5 = '')) $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty']; else $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['gradeclass_double']; }
雖然可以順利完成註冊..... 但是選單裡的值好像無法順利上傳至$usergradeclass :unsure: 以下為profile_add_body.tpl的程式碼 <!-- BEGIN switch_namechange_allowed --> <tr> <td class="row1" width="20%"><span class="gen">{L_USERGRADECLASS}: *</span><br /> <span class="gensmall">{L_USERGRADECLASS_EXPLAIN}</span></td> <td class="row2"> 常士<select class="post" style="width:100px" name="usergradeclass_1"> <option> <option>常士85年班 <option>常士86年班 <option>常士87年班 <option>常士88年班 <option>常士89年班 <option>常士90年班 <option>常士91年班</select> 士二專<select class="post" style="width:100px" name="usergradeclass_2"> <option> <option>士二專85年班 <option>士二專86年班 <option>士二專87年班 <option>士二專88年班 <option>士二專89年班 <option>士二專90年甲班 <option>士二專90年乙班 <option>士二專91年班 <option>士二專92年班</select> 專科<select class="post" style="width:100px" name="usergradeclass_3"> <option> <option>專科85年班 <option>專科86年班 <option>專科87年班 <option>專科88年班 <option>專科89年班 <option>專科90年甲班 <option>專科90年乙班 <option>專科91年班 <option>專科92年班</select> 二技<select class="post" style="width:100px" name="usergradeclass_4"> <option> <option>二技93年班 <option>二技94年班 <option>二技95年班 <option>二技96年班 <option>二技97年班</select> 自填<input type="text" class="post" style="width:100px" name="usergradeclass_5" size="25" maxlength="25" value="{USERGRADECLASS_5}" /></td> </tr> <!-- END switch_namechange_allowed --> 努力除錯中..... :angry:
|
|
|
已記錄
|
|
|
|
acsite
|
 |
« 回覆文章 #12 於: 二月 06, 2005, 07:58:46 pm » |
|
也許您可以試著 echo 所有 $usergradeclass_1~5 的值 這樣比較容易找出錯誤的原因
|
|
|
已記錄
|
|
|
|
heiwa
客戶
離線
文章: 33
|
 |
« 回覆文章 #13 於: 二月 06, 2005, 08:11:08 pm » |
|
不好意思.... 不太懂您的意思說.... :unsure:
|
|
|
已記錄
|
|
|
|
acsite
|
 |
« 回覆文章 #14 於: 二月 06, 2005, 08:22:33 pm » |
|
可以試試看在 $usergradeclass = ''; 的後面使用 echo "usergradeclass_1=" . $usergradeclass_1; 將所有變數的值列出 也許便能藉此觀察後面 if 判斷是不是有什麼錯誤的地方
|
|
|
已記錄
|
|
|
|
|