700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Unity3d和连接MySQL数据库实现登陆注册等功能

Unity3d和连接MySQL数据库实现登陆注册等功能

时间:2021-04-07 05:04:57

相关推荐

Unity3d和连接MySQL数据库实现登陆注册等功能

最近做的项目正好需要实现登陆注册功能,大致登录页面如下所示:

其中增加了注册和忘记密码功能,注册界面如下所示:

我的mysql表格

那么开始用代码实现我们的功能吧!

我使用了简单的UI框架,可以快速拿到所需要的控件,不用一个一个拖动,还可以显示和关闭面板。

注册登录按钮,如果登陆成功切换到主场景GetComponentFromChild<Button>("LoginButton").onClick.AddListener(()=>OnClick_Login());///登录按钮注册的登录事件void OnClick_Login(){username = GetComponentFromChild<InputField>("NameInput").text;password = GetComponentFromChild<InputField>("PassWordInput").text;if (username == "" || password == ""){HintManage("用户名或密码不能为空");}else{Login(new string[] {username, password });}}//读取数据库中的数据private void Login(string[] str){Dictionary<string, string> myDic = new Dictionary<string, string>();myDic.Clear();string connStr = "datasource=127.0.0.1;port=3306;database=mygamedb;user=root;pwd=root;";MySqlConnection conn = new MySqlConnection(connStr);//"数据库连接成功";conn.Open();MySqlCommand cmd = new MySqlCommand("select * from users", conn);MySqlDataReader reader = cmd.ExecuteReader();while (reader.Read()){string _usernames = reader.GetString("username");string _password= reader.GetString("password");myDic.Add(_usernames, _password);}if (myDic.ContainsKey(str[0])){string vale;if (myDic.TryGetValue(str[0], out vale)){if (vale == mon.StrEncrypMd5(str[1]))/{//登录成功!}else{//密码错误,请重新输入;}}}else{//账号不存在!;}//记得关闭读取和数据库}

注册的话,就是往数据库中加内容了,还要判断一下账号是否已经存在

```csharpprivate void Register(string[] strRegister){string connStr = "datasource=127.0.0.1;port=3306;database=mygamedb;user=root;pwd=root;";MySqlConnection conn = new MySqlConnection(connStr);conn.Open();//先要查询一下要注册的账号是否在目前数据库中。MySqlCommand myCommand = new MySqlCommand("select*from users", conn);MySqlDataReader reader = myCommand.ExecuteReader();List<string> user = new List<string>();while (reader.Read()){string username = reader.GetString("username");string password = reader.GetString("password");user.Add(username);}foreach (var item in user){if (user.Contains(strRegister[0])){//"注册失败,账号已存在;break;}else{reader.Close();//先将查询的功能关闭MySqlCommand cmd = new MySqlCommand("insert into users set username ='" + strRegister[0] + "'" + ",password='" + mon.StrEncrypMd5(strRegister[1]) + "'", conn);//这里密码使用了MD5进行加密cmd.Parameters.AddWithValue("username", strRegister[0]);cmd.Parameters.AddWithValue("password", mon.StrEncrypMd5(strRegister[1]));cmd.ExecuteNonQuery();//注册成功则,返回登录界面break;}}}

后来又加入了身份验证(加入密保问题),还有登陆时候需要输入验证码等功能,有空再更新吧

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。