作者itoc.bbs@processor.tfcis.org (:MM:), 看板: plan
標題[功能] 秀出使用者註冊單所填之電話/住址
時間XEON (Mon, 10 Mar 2003 00:36:22 +0800 (CST)) Updated: 2003/09/26
※ 引述《Lucifer (只好窩到這裡寫日記)》之銘言:
> 站長站務在查詢使用者時
> 再多顯示 1,電話 2,住址 這兩項
> 這兩項是在填寫註冊單時寫的(如果有填)
: acct.c:acct_show()
if (adm)
{
+ char address[60], phone[20];
prints(" \033[32m上站地點:\033[37m%-35s\033[32m發信次數:\033[37m%d\n",
u->lasthost, u->numemails);
bitmsg(" \033[32m權限等級:\033[37m", STR_PERM, ulevel);
bitmsg(" \033[32m習慣旗標:\033[37m", STR_UFO, u->ufo);
+ if (find_rform(u->userno, u->userid, address, phone))
+ {
+ prints(" \033[32m註冊住址:\033[37m%-35s\033[32m註冊電話:\033[37m%s\n",
+ address, phone);
+ }
}
: acct.c:find_rform() 加入 acct_show() 之前
static int /* 1:找到 0:沒找到 */
find_rform(userno, userid, address, phone)
int userno; /* 傳入 userno/userid */
char *userid;
char *address, *phone; /* 回傳 address/phone */
{
RFORM *rform;
int fd, rc;
rc = 0;
if ((fd = open(FN_RUN_RFORM_LOG, O_RDONLY)) >= 0)
{
mgets(-1);
while (rform = mread(fd, sizeof(RFORM)))
{
if (userno == rform->userno && !strcmp(userid, rform->userid))
{
strcpy(address, rform->address);
strcpy(phone, rform->phone);
rc = 1;
break; /* 若把這行 break 拿掉,那麼就是找最後一筆註冊單 */
} /* 若把這行 break 留著,那麼就是找第一筆註冊單 */
}
close(fd);
}
return rc;
}
--
不知道在什麼時候開始
我就把 address 等欄位從 ACCT 中拿掉了
所以 sizeof(ACCT) 從以前的 512 降成現在的 220
--
╭── Origin ╮ 動力核心 processor.tfcis.org ~ δεζ ──┼
│ Modify ╯ 03/03/10 0:36:22 精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻