回 ACSite.NET 首頁
回 ACSite.NET 首頁 客服系統 帳務系統 英文首頁
nav_seperator
nav_seperator
nav_seperator
nav_seperator
 

頁: [1] 2
  列印  
作者 主題: [問題]會員註冊出現問題!!  (閱讀 14494 次)
heiwa
客戶
*
離線 離線

文章: 33


« 於: 一月 28, 2005, 04:29:51 pm »

小弟論壇會員註冊功能出現了問題....
在搬家後...本人測試都無法完成測試動作.....
但是在舊論壇上測試是ok的.....

我有將我的論壇備份檔對二個論壇個自從新上傳...
舊論壇可以註冊,但新的還是無法完成

以下是我二個論壇的註冊連結....
舊論壇註冊
新論壇註冊

請問這是哪裡出了問題呢???
感謝回答
已記錄
acsite
管理員
Hero Member
*****
離線 離線

文章: 4,027


個人網站
« 回覆文章 #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
管理員
Hero Member
*****
離線 離線

文章: 4,027


個人網站
« 回覆文章 #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
管理員
Hero Member
*****
離線 離線

文章: 4,027


個人網站
« 回覆文章 #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
管理員
Hero Member
*****
離線 離線

文章: 4,027


個人網站
« 回覆文章 #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
管理員
Hero Member
*****
離線 離線

文章: 4,027


個人網站
« 回覆文章 #12 於: 二月 06, 2005, 07:58:46 pm »

也許您可以試著 echo 所有 $usergradeclass_1~5 的值
這樣比較容易找出錯誤的原因 微笑  
已記錄
heiwa
客戶
*
離線 離線

文章: 33


« 回覆文章 #13 於: 二月 06, 2005, 08:11:08 pm »

不好意思....
不太懂您的意思說.... :unsure:  
已記錄
acsite
管理員
Hero Member
*****
離線 離線

文章: 4,027


個人網站
« 回覆文章 #14 於: 二月 06, 2005, 08:22:33 pm »

可以試試看在 $usergradeclass = '';  的後面使用
echo "usergradeclass_1=" .  $usergradeclass_1;
將所有變數的值列出
也許便能藉此觀察後面 if 判斷是不是有什麼錯誤的地方
已記錄
頁: [1] 2
  列印  
 
前往:  



 
 
bottom
Copyright © 2002 - 2017 ACSite.NET All Rights Reserved.