diff --git a/src/admin/archives_do.php b/src/admin/archives_do.php
index aca58400..df4abcfc 100644
--- a/src/admin/archives_do.php
+++ b/src/admin/archives_do.php
@@ -525,7 +525,7 @@ else if ($dopost == 'quickEdit') {
                 <?php echo $arcRow["rankname"] ?> </option>
                 <?php
                 $urank = $cuserLogin->getUserRank();
-                $dsql->SetQuery("SELECT * FROM `#@__arcrank` WHERE adminrank<='$urank'");
+                $dsql->SetQuery("SELECT * FROM `#@__arcrank` WHERE adminrank<='$urank' ORDER BY `rank` ASC");
                 $dsql->Execute();
                 while ($row = $dsql->GetObject()) {
                     echo "<option value='".$row->rank."'>".$row->membername."</option>";
diff --git a/src/admin/templets/album_add.htm b/src/admin/templets/album_add.htm
index bb83a11b..ddd85ba8 100644
--- a/src/admin/templets/album_add.htm
+++ b/src/admin/templets/album_add.htm
@@ -327,7 +327,7 @@
 									<select name="arcrank" id="arcrank" class="admin-input-sm">
 										<?php
 										$urank = $cuserLogin->getUserRank();
-										$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank'");
+										$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank' ORDER BY `rank` ASC");
 										$dsql->Execute();
 										while($row = $dsql->GetObject())
 										{
diff --git a/src/admin/templets/album_edit.htm b/src/admin/templets/album_edit.htm
index 7ae673df..6138b7b4 100644
--- a/src/admin/templets/album_edit.htm
+++ b/src/admin/templets/album_edit.htm
@@ -369,7 +369,7 @@
 										<option value="<?php echo $arcRow['arcrank']?>"><?php echo $arcRow["rankname"]?></option>
 										<?php
 										$urank = $cuserLogin->getUserRank();
-										$dsql->SetQuery("SELECT * FROM #@__arcrank where adminrank<='$urank'");
+										$dsql->SetQuery("SELECT * FROM #@__arcrank where adminrank<='$urank' ORDER BY `rank` ASC");
 										$dsql->Execute();
 										while($row = $dsql->GetObject()){
 											echo "<option value='".$row->rank."'>".$row->membername."</option>";
diff --git a/src/admin/templets/archives_add.htm b/src/admin/templets/archives_add.htm
index 22533249..2852b19e 100644
--- a/src/admin/templets/archives_add.htm
+++ b/src/admin/templets/archives_add.htm
@@ -262,7 +262,7 @@
 									<select name="arcrank" id="arcrank" class="admin-input-sm">
 									<?php
 									$urank = $cuserLogin->getUserRank();
-									$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank'");
+									$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank' ORDER BY `rank` ASC");
 									$dsql->Execute();
 									while($row = $dsql->GetObject())
 									{
diff --git a/src/admin/templets/archives_edit.htm b/src/admin/templets/archives_edit.htm
index e834f3f6..e568cec5 100644
--- a/src/admin/templets/archives_edit.htm
+++ b/src/admin/templets/archives_edit.htm
@@ -255,7 +255,7 @@
 										</option>
 										<?php
 										$urank = $cuserLogin->getUserRank();
-										$dsql->SetQuery("SELECT * FROM #@__arcrank where adminrank<='$urank'");
+										$dsql->SetQuery("SELECT * FROM #@__arcrank where adminrank<='$urank' ORDER BY `rank` ASC");
 										$dsql->Execute();
 										while($row = $dsql->GetObject()){
 											echo "<option value='".$row->rank."'>".$row->membername."</option>";
diff --git a/src/admin/templets/article_add.htm b/src/admin/templets/article_add.htm
index ac1183d3..b15a0783 100644
--- a/src/admin/templets/article_add.htm
+++ b/src/admin/templets/article_add.htm
@@ -271,7 +271,7 @@
 									<select name="arcrank" id="arcrank" class="admin-input-sm">
 										<?php
 										$urank = $cuserLogin->getUserRank();
-										$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank'");
+										$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank' ORDER BY `rank` ASC");
 										$dsql->Execute();
 										while($row = $dsql->GetObject())
 										{
diff --git a/src/admin/templets/article_edit.htm b/src/admin/templets/article_edit.htm
index a30286b9..df3af059 100644
--- a/src/admin/templets/article_edit.htm
+++ b/src/admin/templets/article_edit.htm
@@ -255,7 +255,7 @@
 										<option value='<?php echo $arcRow["arcrank"]?>'><?php echo $arcRow["rankname"]?> </option>
 										<?php
 										$urank = $cuserLogin->getUserRank();
-										$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank'");
+										$dsql->SetQuery("SELECT * FROM `#@__arcrank` where adminrank<='$urank' ORDER BY `rank` ASC");
 										$dsql->Execute();
 										while($row = $dsql->GetObject()){
 											echo "<option value='".$row->rank."'>".$row->membername."</option>";
diff --git a/src/admin/templets/catalog_add.htm b/src/admin/templets/catalog_add.htm
index f351659d..a16ff44b 100644
--- a/src/admin/templets/catalog_add.htm
+++ b/src/admin/templets/catalog_add.htm
@@ -117,7 +117,7 @@
 					<td>
 						<select name="corank" id="corank" class="admin-input-sm">
 							<?php
-							$dsql->SetQuery("SELECT * FROM `#@__arcrank` where `rank` >= 0");
+							$dsql->SetQuery("SELECT * FROM `#@__arcrank` where `rank` >= 0 ORDER BY `rank` ASC");
 							$dsql->Execute('cc');
 							while($row = $dsql->GetObject('cc')) {
 								if ($corank==$row->rank) echo "<option value='".$row->rank."' selected>".$row->membername."</option>";
diff --git a/src/admin/templets/catalog_edit.htm b/src/admin/templets/catalog_edit.htm
index 9d401969..cd3cfb06 100644
--- a/src/admin/templets/catalog_edit.htm
+++ b/src/admin/templets/catalog_edit.htm
@@ -113,7 +113,7 @@
 					<td>
 						<select name="corank" id="corank" class="admin-input-sm">
 							<?php
-							$dsql->SetQuery("SELECT * FROM `#@__arcrank` where `rank` >= 0");
+							$dsql->SetQuery("SELECT * FROM `#@__arcrank` where `rank` >= 0 ORDER BY `rank` ASC");
 							$dsql->Execute('cc');
 							while($row = $dsql->GetObject('cc'))
 							{
diff --git a/src/admin/templets/member_edit.htm b/src/admin/templets/member_edit.htm
index a8a1f9bd..1a08f0c0 100644
--- a/src/admin/templets/member_edit.htm
+++ b/src/admin/templets/member_edit.htm
@@ -64,7 +64,7 @@
 					<td>
 						<?php
 						$MemberTypes = array();
-						$dsql->SetQuery("SELECT `rank`,membername From `#@__arcrank` where `rank`>0");
+						$dsql->SetQuery("SELECT `rank`,membername From `#@__arcrank` where `rank`>0 ORDER BY `rank` ASC");
 						$dsql->Execute('n');
 						$MemberTypes[0] = "限制会员";
 						while($nrow = $dsql->GetObject('n')){
diff --git a/src/apps/list.php b/src/apps/list.php
index bf3f3197..9c4309f0 100755
--- a/src/apps/list.php
+++ b/src/apps/list.php
@@ -36,21 +36,21 @@ if ($tinfos['issystem'] == -1) {
 } else {
     include(DEDEINC."/archive/listview.class.php");
     $lv = new ListView($tid, 1, $mod);
-    //对设置了会员级别的栏目进行处理
-    if (isset($lv->Fields['corank']) && $lv->Fields['corank'] > 0) {
-        require_once(DEDEINC.'/memberlogin.class.php');
-        $cfg_ml = new MemberLogin();
-        if ($cfg_ml->M_Rank < $lv->Fields['corank']) {
-            $dsql->Execute('me', "SELECT * FROM `#@__arcrank`");
-            while ($row = $dsql->GetObject('me')) {
-                $memberTypes[$row->rank] = $row->membername;
-            }
-            $memberTypes[0] = "游客或没权限会员";
-            $msgtitle = "您没有权限浏览栏目:{$lv->Fields['typename']} ";
-            $moremsg = "该栏目需要<span class='text-primary'>".$memberTypes[$lv->Fields['corank']]."</span>才能浏览,您目前等级是<span class='text-primary'>".$memberTypes[$cfg_ml->M_Rank]."</span>";
-            include_once(DEDETEMPLATE.'/apps/view_msg_catalog.htm');
-            exit();
+}
+//对设置了会员级别的栏目进行处理
+if (isset($lv->Fields['corank']) && $lv->Fields['corank'] > 0) {
+    require_once(DEDEINC.'/memberlogin.class.php');
+    $cfg_ml = new MemberLogin();
+    if ($cfg_ml->M_Rank < $lv->Fields['corank']) {
+        $dsql->Execute('me', "SELECT * FROM `#@__arcrank`");
+        while ($row = $dsql->GetObject('me')) {
+            $memberTypes[$row->rank] = $row->membername;
         }
+        $memberTypes[0] = "游客或没权限会员";
+        $msgtitle = "您没有权限浏览栏目:{$lv->Fields['typename']} ";
+        $moremsg = "该栏目需要<span class='text-primary'>".$memberTypes[$lv->Fields['corank']]."</span>才能浏览,您目前等级是<span class='text-primary'>".$memberTypes[$cfg_ml->M_Rank]."</span>,请进行<a href='{$cfg_memberurl}/buy.php' class='btn btn-success btn-sm'>升级会员</button>";
+        include_once(DEDETEMPLATE.'/apps/view_msg_catalog.htm');
+        exit();
     }
 }
 if ($lv->IsError) ParamError();
diff --git a/src/user/reg_new.php b/src/user/reg_new.php
index c2dbdafa..43822521 100755
--- a/src/user/reg_new.php
+++ b/src/user/reg_new.php
@@ -82,18 +82,11 @@ if ($step == 1) {
             $pwd = md5($userpwd);
         }
         $mtype = '个人';
+        $space = 'person';
         $spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);
         $inQuery = "INSERT INTO `#@__member` (`mtype` ,`userid` ,`$pp`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip`, `pmid`) VALUES ('$mtype','$userid','$pwd','$uname','','10','$dfmoney','','$dfscores','0','$spaceSta','','','','$jointime','$joinip','$logintime','$loginip', '$pMid'); ";
         if ($dsql->ExecuteNoneQuery($inQuery)) {
             $mid = $dsql->GetLastID();
-            //写入默认会员详细资料
-            if ($mtype == '个人') {
-                $space = 'person';
-            } else if ($mtype == '企业') {
-                $space = 'company';
-            } else {
-                $space = 'person';
-            }
             //写入默认统计数据
             $membertjquery = "INSERT INTO `#@__member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`) VALUES ('$mid','0','0','0','0','0','0','0','0'); ";
             $dsql->ExecuteNoneQuery($membertjquery);