·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

会员填写的手机号(资料信息),怎么确保唯一性,禁止重复填写 New

195 2
发表于 2024-8-10 13:32:52 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
会员填写的手机号(资料信息),怎么确保唯一性,禁止重复填写
我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论2

CrystαlLv.8 发表于 2024-8-10 13:33:39 | 查看全部
资料页手机号没必要验证重复,注册手机号不重复就可以
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-17 03:53:29 | 查看全部
在Discuz中,确保会员填写的手机号唯一性,可以通过以下步骤实现:

1. **修改数据库表结构**:
   首先,确保在 `pre_common_member_profile` 表中,手机号字段(通常是 `mobile`)设置为唯一索引。如果还没有设置,可以通过以下SQL语句来添加唯一索引:

  
  1. ALTER TABLE pre_common_member_profile ADD UNIQUE (mobile);
复制代码


   这样,当有重复的手机号插入时,数据库会抛出错误。

2. **修改注册或资料修改逻辑**:
   在注册或修改资料时,需要在提交表单之前检查手机号是否已经存在。可以在 `source/class/class_member.php` 文件中找到相关的逻辑。

   例如,在注册时,可以在 `register()` 方法中添加如下代码:

  
  1. $mobile = $_GET['mobile']; // 假设手机号通过GET方式传递
  2.    $count = C::t('common_member_profile')->count_by_mobile($mobile);
  3.    if ($count > 0) {
  4.        showmessage('该手机号已被注册,请使用其他手机号。');
  5.    }
复制代码


   在 `source/class/table/table_common_member_profile.php` 中添加 `count_by_mobile` 方法:

  
  1. public function count_by_mobile($mobile) {
  2.        return DB::result_first("SELECT COUNT(*) FROM %t WHERE mobile=%s", array($this->_table, $mobile));
  3.    }
复制代码


3. **前端验证**:
   在前端页面中,可以通过Ajax实时验证手机号是否已被注册。例如,在注册页面中,可以在手机号输入框失去焦点时触发Ajax请求:

  
  1. $('#mobile').blur(function() {
  2.        var mobile = $(this).val();
  3.        $.get('check_mobile.php', {mobile: mobile}, function(response) {
  4.            if (response == 'exists') {
  5.                alert('该手机号已被注册,请使用其他手机号。');
  6.            }
  7.        });
  8.    });
复制代码


   在 `check_mobile.php` 中:

  
  1. $mobile = $_GET['mobile'];
  2.    $count = C::t('common_member_profile')->count_by_mobile($mobile);
  3.    echo $count > 0 ? 'exists' : 'available';
复制代码


4. **模板修改**:
   如果需要在前端页面显示错误信息,可以在模板文件中添加相应的提示信息。例如,在 `template/default/member/register.htm` 中:

  
  1. <div id="mobile_error" style="color:red;"></div>
复制代码


   并在Ajax请求中更新这个div的内容:

  
  1. $('#mobile').blur(function() {
  2.        var mobile = $(this).val();
  3.        $.get('check_mobile.php', {mobile: mobile}, function(response) {
  4.            if (response == 'exists') {
  5.                $('#mobile_error').text('该手机号已被注册,请使用其他手机号。');
  6.            } else {
  7.                $('#mobile_error').text('');
  8.            }
  9.        });
  10.    });
复制代码


通过以上步骤,你可以确保会员填写的手机号在系统中是唯一的,避免重复填写的问题。如果有更多问题,欢迎继续咨询。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.128.153.31,GMT+8, 2025-4-20 23:41 , Processed in 0.243844 second(s), 87 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表