首页 >php框架 >ThinkPHP >thinkphp5最完美的注册登录

thinkphp5最完美的注册登录

爆肝混世大魔王-流笙 第五人格服务
爆肝混世大魔王-流笙 第五人格服务原创
2021-03-12 17:48:07223浏览

namespace app\ index\ controller;

use app\ common\ controller\ Base; //导入公共控制器

use think\ Db;

use app\ index\ model\ Add as AddModel;

use think\ Validate;

use think\ Session;

use think\ facade\ Url;

class Index extends Base {

public

function index() {

$s = cookie( 'email' );

if ( is_null( $s ) ) {

return $this->fetch();

} else {

$q = '亲爱的用户名邮箱为';

$h = '欢迎回来';

$this->assign( [ 'email' => $s,

'q' => $q,

'h' => $h,

] );

return $this->fetch( 'user/dlhdym' );

}

}

}

namespace app\ index\ controller;

use think\ Controller;

use app\ common\ Validate;

use app\ common\ controller\ Base;

use app\ common\ model\ User as UserModel;

class User extends Base {

//注册页面

public

function register() {

$this->assign( [ 'title' => '用户注册' ] );

return $this->fetch();

}

public

function insert() {

//接受数据

$data = input( 'post.' );

$c = $_POST[ 'email' ];

$d = $_POST[ 'mobile' ];

$code = $_POST[ 'code' ];

$c = UserModel::get( [ 'email' => $_POST[ 'email' ] ] );

$d = UserModel::get( [ 'mobile' => $_POST[ 'mobile' ] ] );

$h = is_null( $c );

$z = is_null( $d );

if ( $h + $z != 2 ) {

echo "<script>alert('您好你要注册的邮箱或手机号,平台里已经有人注册过了请换一下信息吧');</script>";

return $this->fetch( 'user/register' );

}

if ( !captcha_check( $code ) ) {

echo "<script>alert('您没有输入验证码或验证码错误!');</script>";

return $this->fetch( 'user/register' );

}

$sjh = $_POST[ 'mobile' ];

if ( preg_match( "/^1[34578]{1}\d{9}$/", $sjh ) ) {} else {

echo "<script>alert('不是手机号!');</script>";

return $this->fetch( 'user/register' );

exit;

}

//实例化验证器

$validate = new\ app\ common\ validate\ User;

//进行数据验证

if ( $validate->check( $data ) ) {

$data = input( 'post.' );

unset( $data[ 'password_confirm' ] );

$user = new UserModel( $data );

$a = $user->allowField( [ 'name', 'email', 'mobile', 'password' ] )->save();

if ( $a = 1 ) {

$code = input( 'code' );

echo "<script>alert('注册成功请登录看一下吧!');</script>";

return $this->fetch( 'user/login' );

}

} else {

dump( $validate->getError() );

}

return $this->fetch( 'user/register' );

}

//用户登录

public

function login() {

$this->assign( [ 'title' => '用户登录' ] );

return $this->fetch( 'user/login' );

}

public

function loginCheck() {

if ( isset( $_POST[ 'email' ] ) ) {} else {

echo "<script>alert('请不要动地址栏!');</script>";

return $this->redirect( 'index/index/index' );

exit;

}

$a = UserModel::get( [ 'email' => $_POST[ 'email' ] ] );

$b = UserModel::get( [ 'password' => $_POST[ 'password' ] ] );

$c = $_POST[ 'email' ];

$d = $_POST[ 'password' ];

$e = is_null( $a );

$f = is_null( $b );

if ( $c != '' && $d != '' ) {

if ( $f + $e != 1 ) {

cookie( 'email', $c, 900000 ); // 指定cookie保存时间

$s = cookie( 'email' );

if ( $s = cookie( 'email' ) ) {

$q = '亲爱的用户名邮箱为';

$h = '欢迎回来';

echo "<script>alert('现在已经登录了!');</script>";

$this->assign( [ 'email' => $c,

'q' => $q,

'h' => $h,

] );

return $this->fetch( 'user/dlhdym' );

}

} else {

echo "<script>alert('邮箱或密码错误');</script>";

return $this->fetch( 'user/login' );

}

} else {

echo "<script>alert('您还没有输入邮箱或密码');</script>";

return $this->fetch( 'user/login' );

}

}

}

namespace app\ index\ controller;

use think\ Controller;

use think\ facade\ Url;

use think\ Cookie;

class tt extends Controller {

public

function index() {

cookie::delete( 'email' );

return $this->fetch( 'index/index' );

}

}

 

 

   

 

 {include file="public:header"/}

  {include file="index:nav"/}

 

 

{include file="public:right"/}

{include file="public:footer"/}

 {include file="public:header"/}

  {include file="public:nav"/}

 

 

{include file="public:right"/}

{include file="public:footer"/}

 {include file="public:header"/}

  {include file="public:nav"/}

 

 

{include file="public:right"/}

{include file="public:footer"/}



  验证码:

 

{$title|default="首页"}

 

   

 

   

 

 

 

   

 

以上是thinkphp5最完美的注册登录的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn