Register.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. /**
  3. * User: nickbai
  4. * Date: 2017/10/24 10:46
  5. * Email: 1902822973@qq.com
  6. */
  7. namespace app\index\controller;
  8. use think\Controller;
  9. use Xmail\PHPMailer;
  10. class Register extends Controller
  11. {
  12. // 注册首页
  13. public function index()
  14. {
  15. $this->assign([
  16. 'version' => config('version')
  17. ]);
  18. return $this->fetch();
  19. }
  20. // 处理注册
  21. public function doRegister()
  22. {
  23. if(request()->isPost()){
  24. $userName = input("param.user_name/s");
  25. $userEmail = input("param.user_email/s");
  26. $password = input("param.password/s");
  27. $emailCode = input("param.code/s");
  28. if(empty($userName)){
  29. return json(['code' => -1, 'data' => '', 'msg' => '用户名不能为空']);
  30. }
  31. if(empty($userEmail)){
  32. return json(['code' => -2, 'data' => '', 'msg' => '邮箱不能为空']);
  33. }
  34. if(empty($password)){
  35. return json(['code' => -3, 'data' => '', 'msg' => '密码不能为空']);
  36. }
  37. if(empty($emailCode)){
  38. return json(['code' => -4, 'data' => '', 'msg' => '验证码不能为空']);
  39. }
  40. if($emailCode != cookie('code')){
  41. return json(['code' => -5, 'data' => '', 'msg' => '验证码不正确']);
  42. }
  43. $name = db('accounts')->where('user_name', $userName)->find();
  44. if(!empty($name)){
  45. return json(['code' => -6, 'data' => '', 'msg' => '用户名已存在']);
  46. }
  47. $email = db('accounts')->where('user_email', $userEmail)->find();
  48. if(!empty($email)){
  49. return json(['code' => -7, 'data' => '', 'msg' => '邮箱已存在']);
  50. }
  51. // 添加用户信息
  52. $userInfo = [
  53. 'user_name' => $userName,
  54. 'user_email' => $userEmail,
  55. 'password' => md5($password . config('salt')),
  56. 'status' => 1,
  57. 'add_time' => time(),
  58. 'last_login_time' => time()
  59. ];
  60. $user_id = db('accounts')->insertGetId($userInfo);
  61. // 记录用户状态
  62. cookie('user_name', $userName, config('save_time'));
  63. cookie('user_id', $user_id, config('save_time'));
  64. return json(['code' => 1, 'data' => url('user/index'), 'msg' => '注册成功']);
  65. }
  66. }
  67. public function email(){
  68. $email=input("post.email");//获取收件人邮箱
  69. $mail = new PHPMailer();
  70. $mail->IsSMTP();
  71. $mail->isHTML(true);
  72. $mail->AltBody = "更好地查看这封邮件,请打开HTML兼容视图"; // optional, comment out and test
  73. $mail->CharSet = 'utf-8'; // 编码格式为utf8,不设置编码的话,中文会出现乱码
  74. $mail->SMTPDebug = 0; // enables SMTP debug information
  75. $mail->SMTPAuth = true; // enable SMTP authentication
  76. $mail->Host = "smtp.163.com"; // 发送方的SMTP服务器地址
  77. $mail->Port = 25; // 端口
  78. $mail->Password = "jonlin2468"; //客户端授权密码,而不是邮箱的登录密码!
  79. $mail->Username = "jonlinhuang@163.com"; // 发件人邮箱
  80. $mail->SetFrom('jonlinhuang@163.com', '安全猫-系统邮件'); // 安全猫科技有限公司co.ltd
  81. $code=rand(100000,999999);
  82. cookie('code', $code, config('save_time'));
  83. $mail->Subject = '邮箱验证';
  84. $mail->AddAddress($email);
  85. $mail->MsgHTML('邮件内容是 <b>您的验证码是:'.$code.'</b>,如果非本人操作无需理会!');
  86. $res = $mail->send();
  87. if($res == true){
  88. return "发送成功";
  89. }else{
  90. echo "Message could not be sent.";
  91. echo "Mailer Error: " . $mail->ErrorInfo;// 输出错误信息
  92. }
  93. }
  94. }