- 数据库修改:在
dede_member表中添加一个mobile字段来存储手机号。 - 修改注册模板:在注册页面添加手机号输入框和相关验证。
- 修改注册处理程序:让后台PHP代码能够接收和处理手机号数据。
- 修改会员模型:在后台会员模型中添加手机号字段,以便在后台查看和管理。
- 添加短信验证(可选但强烈推荐):为了确保用户注册信息的真实性,通常会加入短信验证码功能。
下面我将为你提供详细的、可操作的步骤指南。

第一步:数据库修改
我们需要在会员表 dede_member 中增加一个 mobile 字段。
-
登录你的网站数据库管理工具(如 phpMyAdmin)。
-
选择你的织梦CMS数据库。
-
找到
dede_member表,点击“结构”或“SQL”选项卡。
(图片来源网络,侵删) -
方法一(推荐,使用SQL语句): 在SQL输入框中执行以下语句:
ALTER TABLE `dede_member` ADD `mobile` CHAR(20) NOT NULL DEFAULT '' COMMENT '手机号' AFTER `email`;
这条语句会在
email字段后面添加一个名为mobile的字段,类型为CHAR(20),不允许为空,默认值为空字符串。 -
方法二(手动添加): 在
dede_member表的结构页面,点击“添加字段”按钮,然后填写信息:- 字段名:
mobile - 类型:
char - 长度:
20 - 允许为空:否
- 默认值:(留空)
- 字段名:
重要提示:如果你的网站已经有很多会员,并且希望保留兼容性,可以将 mobile 字段的“允许为空”设置为“是”。

第二步:修改注册模板文件
我们需要修改会员注册的模板文件,添加手机号输入框。
-
找到织梦默认的注册模板文件,通常位于:
/templets/default/reg_new.htm -
用代码编辑器打开这个文件。
-
找到用户名和密码的输入框部分,在其后合适的位置(比如密码输入框后面)添加手机号输入框的HTML代码。
<!-- 在合适的位置添加如下代码 --> <li> <label>手机号:</label> <input name="mobile" type="text" id="mobile" class="intxt" style="width:150px" /> <span id="mobilemsg" class="red"></span> </li>
-
(可选)添加短信验证码功能: 如果你要做短信验证,还需要添加验证码输入框和获取验证码的按钮。
<li> <label>短信验证码:</label> <input name="vdcode" type="text" id="vdcode" class="intxt" style="width:80px" /> <button type="button" id="getMobileCode" style="height:32px;">获取验证码</button> <span id="vcodemsg" class="red"></span> </li>
-
保存并上传修改后的
reg_new.htm文件到你的服务器。
第三步:修改注册处理程序
这是核心步骤,让后台PHP能处理手机号数据。
-
找到会员注册的处理文件,通常位于:
/member/reg_new.php -
用代码编辑器打开这个文件。
-
接收并验证手机号: 在文件中找到处理表单提交的代码段(通常在
if($dopost=='regnew')条件判断内),在接收用户名和密码的代码后面,添加接收手机号的代码。// 在接收 $pwd 等变量的附近添加 $mobile = isset($mobile) && trim($mobile) ? trim($mobile) : ''; if(empty($mobile)) { ShowMsg('手机号不能为空!', '-1'); exit(); } // 可以在这里添加更复杂的手机号格式验证,例如正则表达式 if(!preg_match("/^1[3-9]\d{9}$/", $mobile)) { ShowMsg('请输入正确的手机号码!', '-1'); exit(); } -
将手机号写入数据库: 找到插入数据库的SQL语句,它通常是这样的:
query("INSERT INTOdede_membermtypeuseridpwdunameemail) VALUES ('$mtype','$userid','$pwd','$uname','$email')");修改这个SQL语句,在
email后面加上mobile字段:// 修改前 // $inquery = "INSERT INTO `dede_member` (`mtype`,`userid`,`pwd`,`uname`,`email`) VALUES ('$mtype','$userid','$pwd','$uname','$email')"; // 修改后 $inquery = "INSERT INTO `dede_member` (`mtype`,`userid`,`pwd`,`uname`,`email`,`mobile`) VALUES ('$mtype','$userid','$pwd','$uname','$email','$mobile')"; $dsql->ExecuteNoneQuery($inquery); -
(可选)处理短信验证码: 如果使用了短信验证,你需要在这里添加验证码校验逻辑,通常是在数据库的
dede_member表中增加一个safequestion和safeanswer字段(或者新建一个验证码表),然后将短信验证码存入safeanswer,然后在这里进行比对。 -
保存并上传修改后的
reg_new.php文件。
第四步:修改会员模型(后台管理)
为了让织梦后台能正确显示和管理手机号,我们需要修改会员模型。
- 登录织梦CMS后台。
- 进入 [核心] -> 模型管理] -> [会员模型管理]。
- 点击 [字段管理]。
- 点击 [添加新字段]。
- 填写字段信息:
- 字段名:
mobile(必须和数据库字段名一致) - 字段类型:
文本(单行文本) - 字段说明:
手机号 - 默认值:(留空)
- 是否显示:选择“是”
- 其他选项可以根据需要设置。
- 字段名:
- 点击 [保存]。
完成这一步后,在后台查看会员列表时,就能看到手机号这一列了。
第五步:添加短信验证功能(强烈推荐)
手动输入手机号很容易被恶意注册,短信验证是验证用户真实性的标准做法。
实现短信验证通常需要:
- 购买短信平台服务:如阿里云短信、腾讯云短信、SendCloud等,它们会提供API接口。
- 修改注册流程:
- 用户输入手机号 -> 点击“获取验证码”按钮 -> 后台通过短信API向该手机号发送一个随机验证码。
- 后台需要将这个验证码和手机号、有效期等信息存储起来(可以存到
dede_member表的safequestion和safeanswer字段,或者新建一个dede_sms_code表)。 - 用户输入收到的验证码,点击注册。
- 后台
reg_new.php在处理注册时,会先比对用户输入的验证码和数据库中存储的验证码是否一致,以及是否过期。
- 编写发送短信的PHP类:根据你选择的短信平台API,编写一个PHP类来处理发送逻辑。
- 前端交互:使用 jQuery 或其他前端库,实现“获取验证码”按钮的倒计时功能,避免用户频繁点击。
这部分代码量相对较大,且依赖于第三方服务,通常需要一定的开发经验,市面上也有一些现成的织梦短信验证码插件,可以直接安装使用,能大大简化开发过程。
通过以上五个步骤,你就可以成功地为织梦CMS添加一个基本的手机号注册功能了。
核心要点回顾:
- 数据库:
ALTER TABLE添加mobile字段。 - 模板:
reg_new.htm添加<input>。 - 程序:
reg_new.php接收、验证、写入mobile。 - 模型:后台添加
mobile字段以便管理。 - 安全:强烈建议集成短信验证码。
如果你对PHP代码不熟悉,在进行修改前,务必备份相关文件和数据库,以防出错。
