这个具体的例子是单模光纤1.1.5 。 我不能保证,将与任何其他版本。
所以你简单的机器运行软件和论坛要手动输入用户? 没问题。 我知道这个问题似乎非常具体,但解释的想法在这里能够适应其他类型的论坛和其他数据库驱动软件,如WordPress的。 在我们进入究竟如何做到这一点,让我们来看看如何简单机械论坛跟踪用户。 单模光纤中的数据库有一个表称为smf_members 。 该smf_members结构看起来就像这样:
| 领域 | 类型 | 空 | 钥匙 | 默认 | 特 |
|---|
| ID_MEMBER | mediumint ( 8 )未签名 | 一氧化氮 | 革命制度党 | 空 | auto_increment |
| memberName | varchar ( 80 ) | 一氧化氮 | MUL | | |
| dateRegistered | 整数( 10 )未签名 | 编号 | MUL | 0 | |
| 职位 | mediumint ( 8 )未签名 | 编号 | MUL | 0 | |
| ID_GROUP | smallint ( 5 )未签名 | 一氧化氮 | MUL | 0 | |
| lngfile | tinytext | 一氧化氮 | MUL | | |
| lastLogin | 整数( 10 )未签名 | 编号 | MUL | 0 | |
| realName | tinytext | 一氧化氮 | | | |
| instantMessages | smallint ( 5 ) | 一氧化氮 | | 0 | |
| unreadMessages | smallint ( 5 ) | 一氧化氮 | | 0 | |
| buddy_list | 文字 | 一氧化氮 | | | |
| pm_ignore_list | 文字 | 一氧化氮 | | | |
| messageLabels | 文字 | 一氧化氮 | | | |
| 密码 | varchar ( 64 ) | 一氧化氮 | | | |
| 电子邮件地址 | tinytext | 一氧化氮 | | | |
| personalText | tinytext | 一氧化氮 | | | |
| 性别 | tinyint (四)未签名 | 编号 | | 0 | |
| 出生日期 | 日期 | 编号 | MUL | 0001-01-01 | |
| websiteTitle | tinytext | 编号 | | | |
| websiteUrl | tinytext | 一氧化氮 | | | |
| 位置 | tinytext | 一氧化氮 | | | |
| 聊天 | tinytext | 一氧化氮 | | | |
| 目的 | varchar ( 16 ) | 一氧化氮 | | | |
| 苏 | varchar ( 32 ) | 一氧化氮 | | | |
| 的MSN | tinytext | 一氧化氮 | | | |
| hideEmail | tinyint ( 4 ) | 一氧化氮 | | 0 | |
| showOnline | tinyint ( 4 ) | 编号 | | 1 | |
| timeFormat | varchar ( 80 ) | 一氧化氮 | | | |
| 签字 | 文字 | 编号 | | | |
| timeOffset | 浮动 | 一氧化氮 | | 0 | |
| 化身 | tinytext | 一氧化氮 | | | |
| pm_email_notify | tinyint (四) | 一氧化氮 | | 0 | |
| karmaBad | smallint ( 5 )未签名 | 一氧化氮 | | 0 | |
| karmaGood | smallint ( 5 )未签名 | 编号 | | 0 | |
| usertitle | tinytext | 编号 | | | |
| notifyAnnouncements | tinyint (四) | 一氧化氮 | | 1 | |
| notifyOnce | tinyint ( 4 ) | 一氧化氮 | | 1 | |
| notifySendBody | tinyint ( 4 ) | 一氧化氮 | | 0 | |
| notifyTypes | tinyint ( 4 ) | 一氧化氮 | | 二 | |
| memberIP | tinytext | 编号 | | | |
| memberIP2 | tinytext | 编号 | | | |
| secretQuestion | tinytext | 编号 | | | |
| secretAnswer | varchar ( 64 ) | 编号 | | | |
| ID_THEME | tinyint ( 4 )未签名 | 一氧化氮 | | 0 | |
| is_activated | tinyint ( 3 )未签名 | 一氧化氮 | | 1 | |
| validation_code | varchar ( 10 ) | 一氧化氮 | | | |
| ID_MSG_LAST_VISIT | 整数( 10 )未签名 | 编号 | | 0 | |
| additionalGroups | tinytext | 编号 | | | |
| smileySet | varchar ( 48 ) | 一氧化氮 | | | |
| ID_POST_GROUP | smallint ( 5 )未签名 | 一氧化氮 | MUL | 0 | |
| totalTimeLoggedIn | 整数( 10 )未签名 | 一氧化氮 | | 0 | |
| passwordSalt | varchar ( 5 ) | 编号 | | | |
场,我们必须注意:
- memberName -自E xplanitory。
- dateRegistered -难道不是必要的,但如果不填写登记的日期显示为1 969年1 2月3 1日。 日期是保存为一个划时代的时间戳。 不知道如何计算时间戳记在你的脑袋? 没问题。 我用的是免费的发电机这里找到。
- realName -应插入。 当我不能肯定我在这里重复memberName 。
- 电子邮件地址-自E xplanitory。
- is_activated -必须设置为1 ,因为我们手动激活的一个成员。
- ID_POST_GROUP -我不会撒谎。 我不知道这是什么,但它似乎总是被设定为4 。 所以... 。 我总是将其设置为4 。 不是最好的方式计划,但可以做什么?
- 密码-密码你想给新用户。 这是不可能弄清楚如何输入不看的单模光纤的文件。 正确的代码加密单模光纤密码的数据库看起来像这样:
($memberName).$password) $密码= sha1 ( strtolower ( $ memberName ) 。 $密码)
在上面的代码行, $的密码是用户的实际密码。
怎么做:
/ /首先,连接到光纤数据库
$东道国= “主机” ; / /主机名称
$用户名= “用户名” ; / /数据库用户名
$ mypassword = “密码” ; / /数据库密码
$ db_name = “用户名” ; / /数据库名称
("cannot connect to server"); mysql_connect ( “ $主机” , “ $的用户名” , “ $ mypassword ” ) 或死亡( “无法连接到服务器” ) ;
("cannot select DB"); mysql_select_db ( “ $ db_name ” ) 或死亡 ( “不能选择数据库” ) ;
$ memberName = “铁人三项” ;
$ realName = “托尼斯塔克” ;
$电子邮件地址= “ ironMan@ironMan.com ” ;
$ is_activated = 1 ;
$ ID_POST_GROUP = 4 ;
$密码= “ Tony1234 ” ;
($memberName).$password); $密码= sha1 ( strtolower ( $ memberName ) 。 $的密码) ;
$ dateRegistered =十二亿一千六百九十五万一千二百; / / 08年7月25日凌晨2点
$查询= “插入smf_members ( memberName , realName ,电子邮件地址, is_activated , ID_POST_GROUP ,密码, dateRegistered )值( ' $ memberName ' , ' $ realName ' , ' $电子邮件地址' , ' $ is_activated ' , ' $ ID_POST_GROUP ' , ' $密码' , ' $ dateRegistered ' ) “ ;
("SMF Error 101.234 "); $结果= mysql_query ( $查询) 或死亡 ( “单模光纤错误101.234 ” ) ;
这就是这么简单!