精华内容
下载资源
问答
  • QQ邮箱收到的时这个 发现&符号被转义了,没多大影响

    QQ邮箱收到的时这个
    在这里插入图片描述
    在这里插入图片描述

    发现&符号被转义了,没多大影响

    展开全文
  • laravel qq邮箱验证

    2019-12-09 12:10:46
    laravel qq邮箱验证 参考文章 :Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可) laravel5.6发送邮件功能实现&队列使用(基于数据库) 开启普通邮箱POP3和SMTP服务 使用QQ邮箱的话,需要开启POP3...

    laravel qq邮箱验证
    参考文章 :Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
    laravel5.6发送邮件功能实现&队列使用(基于数据库)

    开启普通邮箱POP3和SMTP服务

    使用QQ邮箱的话,需要开启POP3和SMTP服务(QQ邮箱登录=》选择设置=》账户=》下拉找到下图)。
    使用企业邮箱不用开启SMTP,因为企业邮箱自带,如果配置有问题去查一下是否关闭安全登录(企业邮箱)
    开启方式如下:
    登录=》左上角设置=》账户=》选择开启POP3/SMTP服务 并生成授权码 类似下图
    在这里插入图片描述

    配置laravel 中的.env文件

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.qq.com
    MAIL_PORT=465
    MAIL_USERNAME=********@qq.com
    MAIL_PASSWORD=qq邮箱此处填写上图产生的授权码
    MAIL_ENCRYPTION=ssl
    

    配置 配置laravel config/mail.php文件

     'from' => [
            'address' => env('MAIL_FROM_ADDRESS', '与.env文件相同@qq.com'),
            'name' => env('MAIL_FROM_NAME', 'Example'),
        ], 
    

    如果不配置 则会报错
    在这里插入图片描述

    开始代码之旅

    生成控制器

    php artisan make::controller MailController
    

    配置路由

    Route::any('mail/send','MailController@send');
    
    在app/Http/Controllers生成了一个MailController控制器,如下所示:
    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Mail;
    
    
    class MailController extends Controller
    {
    	//
    }
    

    编辑上面控制器:

    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Mail;
    
    
    class MailController extends Controller
    {
        //
        public function send() {
            $name = '我发的第一份邮件';
            // Mail::send()的返回值为空,所以可以其他方法进行判断
            Mail::send('emails.test',['name'=>$name],function($message){
                $to = '1173914382@qq.com'; $message ->to($to)->subject('邮件测试');
            });
            // 返回的一个错误数组,利用此可以判断是否发送成功
            dd(Mail::failures());
        }
    }
    
    

    Mail::send()需要传三个参数,第一个为引用的模板,第二个为给模板传递的变量(邮箱发送的文本内容),第三个为一个闭包,参数绑定Mail类的一个实例。

    展开全文
  • 使用laravel进行邮箱验证

    千次阅读 2018-12-20 21:40:43
    简单粗暴,直接上代码! .env: MAIL_DRIVER=smtp MAIL_HOST=smtp.163.com MAIL_PORT=465 MAIL_USERNAME=route@...MAIL_PASSWORD=password MAIL_ENCRYPTION=ssl ... //163邮箱发送邮件 public function mail(){ ...

    简单粗暴,直接上代码!

    .env:

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.163.com
    MAIL_PORT=465
    MAIL_USERNAME=route@163.com
    MAIL_PASSWORD=password
    MAIL_ENCRYPTION=ssl
    

    控制器层:

     //163邮箱发送邮件
       public function mail(){
       	 $data=Crty::mailed();
       	 // print_r($data);die;
       	 Mail::send("add_sort/shows",['user'=>$data->user],function($message){
       	 	$message->from("15******97@163.com","发件人");
       	 	$message->subject('message');
       	 	$message->to('收件人@qq.com');
       	 });
        
       }
        
      //缓存Cache
       public function register(Request $request){
       	 if($request->isMethod('post')){
           $data=$request->all();
           $info=Crty::registered($data);
           // print_r($info);die;
           if($info){
           	return redirect('crty/mail');
           }
       	 }elseif($request->isMethod('get')){
       	 	return view('add_sort/register');
       	 }
       	
       }

    model层:

    //注册model
      public static function registered($data){
        // print_r($data);die;
        if(empty($data['user'])){
          echo "用户名不能为空";die;
        }
        if(empty($data['pwd'])){
          echo "密码不能为空";die;
        }
        if(empty($data['telphone'])){
          echo "手机号码不能为空";die;
        }
        if(empty($data['email'])){
          echo "邮箱不能为空";die;
        }
        $user=$data['user'];
        $telphone=$data['telphone'];
        $email=$data['email'];
        $arr=array(
          'user'=>$data['user'],
          'pwd'=>$data['pwd'],
          'telphone'=>$data['telphone'],
          'email'=>$data['email']
         );
       Mail::send("add_sort/shows",['user'=>$arr['user'],'telphone'=>$arr['telphone']],function($message){
          $message->from("1**105****7@163.com","发件人");
          $message->subject('message');
          $message->to('11****@qq.com');
         });
       //设置缓存,用以想客户发送邮箱数据    
         $insert=DB::table('register')->insert($arr);
         return $insert;
        }
       //邮箱验证
       public static function mailed(){
           $data=DB::table('register')->where('id',25)->first(); 
           return $data;
       }

    view:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    </head>
    <body>
    	<table>
    
    		<tr>
    			<td>恭喜{{$user}},用户电话{{$telphone}}</td>
    			
    		</tr>
    
    	</table>
    </body>
    </html>

     

    展开全文
  • laravel表单验证验证规则

    千次阅读 2019-06-26 11:18:09
    laravel表单验证规则,验证用户信息是否正确 LNMP环境 php5.6 mysql5.4 代码中有需要注意的位置,都是用“重点”关键字进行标记,可以检索“重点”关键字进行查看。 路由 Route::get('/admin/regulate','admin\...

    laravel表单验证规则,验证用户信息是否正确

    • LNMP环境
    • php5.6
    • mysql5.4

    代码中有需要注意的位置,都是用“重点”关键字进行标记,可以检索“重点”关键字进行查看。

    路由
    Route::get('/admin/regulate','admin\RegulateController@regulate');
        //管理员页面
        Route::get('/admin/regulateadd','admin\RegulateController@regulateAdd');
        //添加管理员
        Route::post('/admin/regulatecreate','admin\RegulateController@regulateCreate');
        //编辑管理员
        Route::match(['get','post'],'/admin/regulateedit/{id}','admin\RegulateController@regulateEdit');
        //停用管理员
    
    控制器
    • 此控制器包含,新增,修改,停用管理员的操作,以及验证规则。
    • 验证规则用到了,正则,用户唯一判断,不能为空等。
    <?php namespace App\Http\Controllers\admin;
    
    use App\Http\Requests;
    use App\Http\Controllers\Controller;
    use Illuminate\Support\Facades\DB;
    
    use Illuminate\Http\Request;
    
    class RegulateController extends Controller {
    
    	/**
    	 * @Author <winner443@163.com>
    	 *
    	 * @return Response
    	 */
    	public function regulate()
    	{
    		/*
    		 * @Author <winner>
    		 * function 管理员控制器
    		 * */
    		//读取管理员数据
            $data = \DB::select("select a.*,(select s.group_name from sys_group as s where s.id = a.auth_id) as group_name from admins as a");
    		return view('admin.regulate')->with('data',$data);
    	}
    	//添加管理员页面
    	public function regulateAdd(){
    	    $group_name = \DB::table('sys_group')->get();
    	    return view('admin.adminAdd')->with(['group_name'=>$group_name]);
        }
        //添加管理员操作
        public function regulateCreate(Request $request){
    	    //接收全部数据
    	    $values = $request->all();
    	    //设置验证规则
            $rule = [
              'login_name'=>'required|unique:admins,login_name|regex:/^[a-zA-Z][a-zA-Z0-9_]{3,10}$/',
              //'login_name'=>array('regex:/^[a-zA-Z][a-zA-Z0-9_]{4,10}$/'),//TODO <winner remarks>正则如果要是这样写,那么required就不能验证了。
              'pwd'=>'required|min:6|max:18|same:repwd',
              'tel'=>'required|regex:/^1[34578]\d{9}$/',
              'email'=>'required|email',
              'auth_id'=>'required'
            ];
            //设置提示信息
            $message = [
              'login_name.required'=>'用户名不能为空',
              'login_name.unique'=>'用户名已存在,请重新输入',
              'login_name.regex'=>'用户名格式必须为字母、数字、下划线,3-10位组成。',
              'pwd.max'=>'请输入6-18位密码',
              'pwd.min'=>'请输入6-18位密码',
              'pwd.required'=>'密码不能为空',
              'pwd.same'=>'两次密码不一致',
              'tel.required'=>'手机号不能为空',
              'tel.regex'=>'手机号格式不正确',
              'email.required'=>'邮箱不能为空',
              'email'=>'邮箱格式不正确',
              'auth_id.required'=>'角色不能为空'
            ];
            $validator = \Validator::make($values,$rule,$message);
            if ($validator->passes()){
                //插入数据
                //过滤掉多余的字段
                unset($_POST['repwd']);
                //$_POST['pwd'] = base64_encode(md5($_POST['pwd']));
                $_POST['pwd'] = md5(SALT.$_POST['pwd']);
                $_POST['token'] = str_random(50);
                $_POST['create_time'] = time();
                $_POST['update_time'] = null;
                $result = \DB::table('admins')->insert($_POST);
                if ($result){
                    $data = [
                      'status'=>'200',
                      'href'=>'http://mfwx.bjmfzyz.com/admin/regulate',
                      'info'=> '添加成功'
                    ];
                    return json_encode($data);
                }else{
                    $data = [
                      'status'=>'202',
                      'info'=>'添加失败,稍后重试'
                    ];
                    return json_encode($data);
                }
            }else{
                return response()->json([
                    'status'=>'201',
                    'info'=>$validator->errors()->first()
                ]);
            }
        }
        //编辑管理员
        public function regulateEdit($id,Request $request){
            if ($request->isMethod('GET')){
                //角色列表
                $group_name = \DB::table('sys_group')->get();
                //查询管理员,嵌套查询看此管理员属于哪一个角色的。
                $data = \DB::select("select a.*,(select s.group_name from sys_group as s where s.id = a.auth_id) as group_name from admins as a where a.id = $id");
                return view('admin.adminEdit')->with(['data'=>$data,'group_name'=>$group_name]);
            }else{
                //接收全部数据
                $values = $request->all();
                //设置验证规则
                $rule = [
                    'login_name'=>'required|regex:/^[a-zA-Z][a-zA-Z0-9_]{3,10}$/|unique:admins,login_name,'.$id,//忽略指定此id的验证
                    'tel'=>'required|regex:/^1[34578]\d{9}$/',
                    'email'=>'required|email',
                ];
                $message = [
                    'login_name.required'=>'用户名不能为空',
                    'login_name.unique'=>'用户名已存在,请重新输入',
                    'login_name.regex'=>'用户名格式必须为字母、数字、下划线,3-10位组成。',
                    'tel.required'=>'手机号不能为空',
                    'tel.regex'=>'手机号格式不正确',
                    'email.required'=>'邮箱不能为空',
                    'email'=>'邮箱格式不正确'
                ];
                $validator = \Validator::make($values,$rule,$message);
                if ($validator->passes()){
                    $_POST['update_time'] = time();
                    $result = \DB::table('admins')->where('id','=',$id)->update($_POST);
                    if ($result){
                        $data = [
                            'status'=>'200',
                            'info'=>'修改成功'
                        ];
                        return json_encode($data);
                    }else{
                        $data = [
                            'status'=>'202',
                            'info'=>'修改失败'
                        ];
                        return json_encode($data);
                    }
                }else{
                    return response()->json([
                       'status'=>'201',
                       'info'=>$validator->errors()->first()
                    ]);
                }
            }
        }
        //停用管理员
        public function regulateStop($id,Request $request){
    	    if ($request->input('start')=='1'){
    	        //停用
                $data = [];
                $data['start'] = 1;
                $result = \DB::table('admins')->where('id','=',$id)->update($data);
                if ($result){
                    $data = [
                        'status'=>'200',
                        'info'=>'停用成功'
                    ];
                    return json_encode($data);
                }else{
                    $data = [
                        'status'=>'201',
                        'info'=>'停用失败'
                    ];
                    return json_encode($data);
                }
            }else{
    	        //启用
                $data['start'] = 0;
                $result = \DB::table('admins')->where('id','=',$id)->update($data);
                if ($result){
                    $data = [
                        'status'=>'200',
                        'info'=>'启用成功'
                    ];
                    return json_encode($data);
                }else{
                    $data = [
                        'status'=>'201',
                        'info'=>'启用失败'
                    ];
                    return json_encode($data);
                }
            }
        }
        //修改管理员密码
        public function regulateResetPwd($id,Request $request){
            if ($request->isMethod('GET')){
                $data = \DB::select("select a.*,(select s.group_name from sys_group as s where s.id = a.auth_id) as group_name from admins as a where a.id = $id");
                return view('admin.adminResetPwd')->with(['data'=>$data]);
            }else{
                $values = $request->all();
                $rule = [
                  'pwd'=>'required|min:5|max:18|same:repwd',
                ];
                $message = [
                    'pwd.required'=>'密码不能为空',
                    'pwd.min'=>'请输入6-18位密码',
                    'pwd.max'=>'请输入6-18位密码',
                    'pwd.same'=>'两次密码不一致'
                ];
                $validator = \Validator::make($values,$rule,$message);
                if ($validator->passes()){
                    $data = array();
                    $data['pwd'] = md5(SALT.$request->input('pwd'));
                    $result = DB::table('admins')->where('id','=',$id)->update($data);
                    if ($result){
                        $data = [
                            'status'=>'10000',
                            'info'=>'密码修改成功'
                        ];
                        return $data;
                    }else{
                        $data = [
                            'status'=>'10004',
                            'info'=>'密码修改失败'
                        ];
                        return $data;
                    }
                }else{
                    return response()->json([
                       'status'=>'10001',
                       'info'=>$validator->errors()->first()
                    ]);
                }
            }
        }
     }   
    
    视图

    添加视图

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <meta id="farm_csrf" name="csrf-token" content="{{ csrf_token() }}"<重点:new insert>这个是处理laravel的CSRF验证
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="admin/lib/html5shiv.js"></script>
    <script type="text/javascript" src="admin/lib/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui/css/H-ui.min.css")}} />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/css/H-ui.admin.css")}}/>
    <link rel="stylesheet" type="text/css" href={{asset("admin/lib/Hui-iconfont/1.0.8/iconfont.css")}}/>
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/skin/default/skin.css")}} id="skin" />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/css/style.css")}}/>
    <!--[if IE 6]>
    <script type="text/javascript" src="admin/lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>添加管理员 - 管理员管理</title>
    <meta name="keywords" content="">
    <meta name="description" content="">
    </head>
    <body>
    <article class="page-container">
    	<form class="form form-horizontal" id="formAdd">
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>管理员:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<input type="text" class="input-text" value="" placeholder="" id="loginName" name="login_name">
    		</div>
    	</div>
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>初始密码:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<input type="password" class="input-text" autocomplete="off" value="" placeholder="密码" id="pwd" name="pwd">
    		</div>
    	</div>
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>确认密码:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<input type="password" class="input-text" id="rePwd" autocomplete="off"  placeholder="确认新密码" name="repwd">
    		</div>
    	</div>
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>状态:</label>
    		<div class="formControls col-xs-8 col-sm-9 skin-minimal">
    			<div class="radio-box">
    				<input name="start" type="radio" id="start" value="0" checked>
    				<label for="sex-1">启用</label>
    			</div>
    			<div class="radio-box">
    				<input type="radio" id="start" name="start" value="1">
    				<label for="sex-2">禁用</label>
    			</div>
    		</div>
    	</div>
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>手机:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<input type="text" class="input-text" value="" placeholder="" id="tel" name="tel">
    		</div>
    	</div>
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>邮箱:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<input type="text" class="input-text" placeholder="@" name="email" id="email">
    		</div>
    	</div>
    	<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>角色:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<span class="select-box" style="width:150px;">
    				<select class="select" name="auth_id" id="authID" size="1">
    					<option value="">请选择</option>
    					@foreach($group_name as $v)
    						<option value="{{$v->id}}">{{$v->group_name}}</option>
    					@endforeach
    				</select>
    			</span>
    		</div>
    	</div>
    	{{--<div class="row cl" style="width:90%;">
    		<label class="form-label col-xs-4 col-sm-3">备注:</label>
    		<div class="formControls col-xs-8 col-sm-9">
    			<textarea name="" cols="" rows="" class="textarea"  placeholder="" dragonfly="true" onKeyUp="$.Huitextarealength(this,100)"></textarea>
    			<p class="textarea-numberbar"><em class="textarea-length">0</em>/100</p>
    		</div>
    	</div>--}}
    	<div class="row cl" style="width:90%;">
    		<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
    			{{--<input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">--}}
    			<button id="adminsSubmit" class="btn btn-primary radius" type="button"><i class="Hui-iconfont">&#xe632;</i> 保存并提交</button>
    			<input class="btn btn-default radius"  type="reset" value="&nbsp;&nbsp;重&nbsp;置&nbsp;&nbsp;">
    		</div>
    	</div>
    	</form>
    </article>
    
    <!--_footer 作为公共模版分离出去-->
    <script type="text/javascript" src={{asset("admin/static/h-ui.admin/js/H-ui.admin.js")}}></script> <!--/_footer 作为公共模版分离出去-->
    
    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src={{asset("admin/lib/jquery.validation/1.14.0/jquery.validate.js")}}></script>
    <script type="text/javascript" src={{asset("admin/js/md5.js")}}></script>
    <script type="text/javascript">
     <重点:new insert>这个是处理laravel的CSRF验证
    $(function(){
    	$.ajaxSetup({
    		headers: {
    			'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    		}
    	});
    	//TODO <winner insert 201906101906> 添加管理员ajax
    	$("#adminsSubmit").click(function(){
    		/* //TODO <winner sign>想着用js的加密了。但是这样密码的位数在后端就不好判断了。所以不加密了。直接传。
    		var loginName = $("#loginName").val();
    		var pwd = hex_md5($("#pwd").val());
    		var rePwd = hex_md5($("#rePwd").val());
    		//选中radio单选框的被选中的val值
    		var start = $('input[name="start"]:checked').val();
    		var tel = $("#tel").val();
    		var email = $("#email").val();
    		var authID = $("#authID").val();*/
    		$.ajax({
    			type:'POST',
    			url:'/admin/regulatecreate',
    			dataType:'json',
    			data:$("#formAdd").serialize(),
    			//data:{'login_name':loginName,'pwd':pwd,'repwd':rePwd,'start':start,'tel':tel,'email':email,'auth_id':authID},
    			success:function(data){
    				if (data.status=='201'){
    					layer.msg(data.info,{icon:5});
    				}else if(data.status=='202'){
    					layer.msg(data.info,{icon:5,time:1500});
    					//window.parent.location.reload();
    				}else{
    					layer.msg(data.info,{icon:1,time:1500});
    					//window.parent.location.reload();
    				}
    			},
    			error:function(){
    				layer.msg('网络错误,稍后重试',{icon:5,time:1500});
    				//window.parent.location.reload();
    			}
    		});
    	});
    	$('.skin-minimal input').iCheck({
    		checkboxClass: 'icheckbox-blue',
    		radioClass: 'iradio-blue',
    		increaseArea: '20%'
    	});
    	
    	$("#form-admin-add").validate({
    		rules:{
    			adminName:{
    				required:true,
    				minlength:4,
    				maxlength:16
    			},
    			password:{
    				required:true,
    			},
    			password2:{
    				required:true,
    				equalTo: "#password"
    			},
    			sex:{
    				required:true,
    			},
    			phone:{
    				required:true,
    				isPhone:true,
    			},
    			email:{
    				required:true,
    				email:true,
    			},
    			adminRole:{
    				required:true,
    			},
    		},
    		onkeyup:false,
    		focusCleanup:true,
    		success:"valid",
    		submitHandler:function(form){
    			$(form).ajaxSubmit({
    				type: 'post',
    				url: "xxxxxxx" ,
    				success: function(data){
    					layer.msg('添加成功!',{icon:1,time:1000});
    				},
                    error: function(XmlHttpRequest, textStatus, errorThrown){
    					layer.msg('error!',{icon:1,time:1000});
    				}
    			});
    			var index = parent.layer.getFrameIndex(window.name);
    			parent.$('.btn-refresh').click();
    			parent.layer.close(index);
    		}
    	});
    });
    </script> 
    <!--/请在上方写此页面业务相关的脚本-->
    </body>
    </html>
    

    修改视图

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <meta id="farm_csrf" name="csrf-token" content="{{ csrf_token() }}"><重点:new insert>这个是处理laravel的CSRF验证
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="admin/lib/html5shiv.js"></script>
    <script type="text/javascript" src="admin/lib/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui/css/H-ui.min.css")}} />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/css/H-ui.admin.css")}}/>
    <link rel="stylesheet" type="text/css" href={{asset("admin/lib/Hui-iconfont/1.0.8/iconfont.css")}}/>
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/skin/default/skin.css")}} id="skin" />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/css/style.css")}}/>
    <!--[if IE 6]>
    <script type="text/javascript" src="admin/lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>修改管理员 - 管理员管理</title>
    <meta name="keywords" content="">
    <meta name="description" content="">
    </head>
    <body>
    <article class="page-container">
    	@foreach($data as $data)
    		<form class="form form-horizontal" id="formEdit">
    		<input id="editID" type="hidden" value="{{$data->id}}">
    		<div class="row cl" style="width:90%;">
    			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>管理员:</label>
    			<div class="formControls col-xs-8 col-sm-9">
    				<input type="text" class="input-text" value="{{$data->login_name}}" placeholder="" id="adminName" name="login_name">
    			</div>
    		</div>
    		<div class="row cl" style="width:90%;">
    			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>状态:</label>
    			<div class="formControls col-xs-8 col-sm-9 skin-minimal">
    				<div class="radio-box">
    					<input name="start" type="radio" id="sex-1" value="0" @if($data->start==0)checked @endif>
    					<label for="sex-1">启用</label>
    				</div>
    				<div class="radio-box">
    					<input type="radio" id="sex-2" name="start" value="1" @if($data->start==1)checked @endif>
    					<label for="sex-2">禁用</label>
    				</div>
    			</div>
    		</div>
    		<div class="row cl" style="width:90%;">
    			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>手机:</label>
    			<div class="formControls col-xs-8 col-sm-9">
    				<input type="text" class="input-text" value="{{$data->tel}}" placeholder="" id="phone" name="tel">
    			</div>
    		</div>
    		<div class="row cl" style="width:90%;">
    			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>邮箱:</label>
    			<div class="formControls col-xs-8 col-sm-9">
    				<input type="text" class="input-text" placeholder="@" name="email" id="email" value="{{$data->email}}">
    			</div>
    		</div>
    		<div class="row cl" style="width:90%;">
    			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>角色:</label>
    			<div class="formControls col-xs-8 col-sm-9"> <span class="select-box" style="width:150px;">
    			<select class="select" name="auth_id" size="1">
    				<option value="{{$data->auth_id}}">{{$data->group_name}}</option>
    				@foreach($group_name as $v)
    					<option @if($v->id==$data->auth_id)style="display: none;"@endif value="{{$v->id}}">{{$v->group_name}}</option>
    				@endforeach
    			</select>
    			</span>
    			</div>
    		</div>
    		<div class="row cl" style="width:90%;">
    			<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
    				{{--<input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">--}}
    				<button id="adminsEdit" class="btn btn-primary radius" type="button"><i class="Hui-iconfont">&#xe632;</i> 保存并提交</button>
    				{{--<input class="btn btn-default radius"  type="reset" value="&nbsp;&nbsp;重&nbsp;置&nbsp;&nbsp;">--}}
    			</div>
    		</div>
    	</form>
    	@endforeach
    </article>
    
    <!--_footer 作为公共模版分离出去-->
    <script type="text/javascript" src={{asset('admin/layui/layui.all.js')}}></script>
    <script type="text/javascript" src={{asset("admin/lib/jquery/1.9.1/jquery.min.js")}}></script>
    <script type="text/javascript" src={{asset("admin/lib/layer/2.4/layer.js")}}></script>
    <script type="text/javascript" src={{asset("admin/static/h-ui/js/H-ui.min.js")}}></script>
    <script type="text/javascript" src={{asset("admin/static/h-ui.admin/js/H-ui.admin.js")}}></script> <!--/_footer 作为公共模版分离出去-->
    
    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src={{asset("admin/lib/jquery.validation/1.14.0/jquery.validate.js")}}></script>
    <script type="text/javascript" src={{asset("admin/lib/jquery.validation/1.14.0/validate-methods.js")}}></script>
    <script type="text/javascript" src={{asset("admin/lib/jquery.validation/1.14.0/messages_zh.js")}}></script>
    <script type="text/javascript">
    <重点:new insert>这个是处理laravel的CSRF验证
    $(function(){
    	$.ajaxSetup({
    		headers: {
    			'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    		}
    	});
    	//TODO <winner insert 201906101906> 添加管理员ajax
    	$("#adminsEdit").click(function(){
    		var editID = $("#editID").val();
    		$.ajax({
    			type:'POST',
    			url:'/admin/regulateedit/'+editID,
    			dataType:'json',
    			data:$("#formEdit").serialize(),
    			success:function(data){
    				if (data.status=='201'){
    					layer.msg(data.info,{icon:5});
    				}else if(data.status=='202'){
    					layer.msg(data.info,{icon:5,time:1500});
    					window.parent.location.reload();
    				}else{
    					layer.msg(data.info,{icon:1,time:1500});
    					window.parent.location.reload();
    				}
    			},
    			error:function(){
    				layer.msg('网络错误,稍后重试',{icon:5,time:1500});
    				window.parent.location.reload();
    			}
    		});
    	});
    	$('.skin-minimal input').iCheck({
    		checkboxClass: 'icheckbox-blue',
    		radioClass: 'iradio-blue',
    		increaseArea: '20%'
    	});
    	
    	$("#form-admin-add").validate({
    		rules:{
    			adminName:{
    				required:true,
    				minlength:4,
    				maxlength:16
    			},
    			password:{
    				required:true,
    			},
    			password2:{
    				required:true,
    				equalTo: "#password"
    			},
    			sex:{
    				required:true,
    			},
    			phone:{
    				required:true,
    				isPhone:true,
    			},
    			email:{
    				required:true,
    				email:true,
    			},
    			adminRole:{
    				required:true,
    			},
    		},
    		onkeyup:false,
    		focusCleanup:true,
    		success:"valid",
    		submitHandler:function(form){
    			$(form).ajaxSubmit({
    				type: 'post',
    				url: "xxxxxxx" ,
    				success: function(data){
    					layer.msg('添加成功!',{icon:1,time:1000});
    				},
                    error: function(XmlHttpRequest, textStatus, errorThrown){
    					layer.msg('error!',{icon:1,time:1000});
    				}
    			});
    			var index = parent.layer.getFrameIndex(window.name);
    			parent.$('.btn-refresh').click();
    			parent.layer.close(index);
    		}
    	});
    });
    </script> 
    <!--/请在上方写此页面业务相关的脚本-->
    </body>
    </html>
    

    管理员列表

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta id="farm_csrf" name="csrf-token" content="{{ csrf_token() }}"><重点:new insert>这个是处理laravel的CSRF验证
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="Bookmark" href="/favicon.ico" >
    <link rel="Shortcut Icon" href="/favicon.ico" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="admin/lib/html5shiv.js"></script>
    <script type="text/javascript" src="admin/lib/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui/css/H-ui.min.css")}} />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/css/H-ui.admin.css")}} />
    <link rel="stylesheet" type="text/css" href={{asset("admin/lib/Hui-iconfont/1.0.8/iconfont.css")}} />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/skin/default/skin.css")}} id="skin" />
    <link rel="stylesheet" type="text/css" href={{asset("admin/static/h-ui.admin/css/style.css")}}/>
    <!--[if IE 6]>
    <script type="text/javascript" src="admin/lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>管理员列表</title>
    </head>
    <body>
    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 管理员管理 <span class="c-gray en">&gt;</span> 管理员列表 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a></nav>
    <div class="page-container">
    	{{--<div class="text-c"> 日期范围:--}}
    		{{--<input type="text" onfocus="WdatePicker({ maxDate:'#F{$dp.$D(\'datemax\')||\'%y-%M-%d\'}' })" id="datemin" class="input-text Wdate" style="width:120px;">--}}
    		{{-----}}
    		{{--<input type="text" onfocus="WdatePicker({ minDate:'#F{$dp.$D(\'datemin\')}',maxDate:'%y-%M-%d' })" id="datemax" class="input-text Wdate" style="width:120px;">--}}
    		{{--<input type="text" class="input-text" style="width:250px" placeholder="输入管理员名称" id="" name="">--}}
    		{{--<button type="submit" class="btn btn-success" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜用户</button>--}}
    	{{--</div>--}}
    	<div class="cl pd-5 bg-1 bk-gray mt-20">
    		<span class="l">
    			{{--<a href="javascript:;" onclick="datadel()" class="btn btn-danger radius"><i class="Hui-iconfont">&#xe6e2;</i> 批量删除</a>--}}
    			<a href="javascript:;" onclick="admin_add('添加管理员','/admin/regulateadd','800','')" class="btn btn-primary radius">
    				<i class="Hui-iconfont">&#xe600;</i> 添加管理员</a>
    		</span> <span class="r">共有数据:<strong>54</strong> 条</span>
    	</div>
    	<table class="table table-border table-bordered table-bg">
    		<thead>
    			<tr>
    				<th scope="col" colspan="9">管理员列表</th>
    			</tr>
    			<tr class="text-c">
    				<th width="25"><input type="checkbox" name="" value=""></th>
    				<th width="40">ID</th>
    				<th width="150">登录名</th>
    				<th width="90">手机</th>
    				<th width="150">邮箱</th>
    				<th>角色</th>
    				<th width="130">加入时间</th>
    				<th width="100">是否已启用</th>
    				<th width="100">操作</th>
    			</tr>
    		</thead>
    		@foreach($data as $v)
    		<tbody>
    			<tr class="text-c">
    				<td><input type="checkbox" value="1" name=""></td>
    				<td>{{$v->id}}</td>
    				<td>{{$v->login_name}}</td>
    				<td>{{$v->tel}}</td>
    				<td>{{$v->email}}</td>
    				<td>
    					@if($v->group_name)
    						{{$v->group_name}}
    					@else
    						角色已删除
    					@endif
    				</td>
    				<td>{{date('Y-m-d H:i:s',$v->create_time)}}</td>
    				<td class="td-status">
    					@if($v->start==0)
    					<span class="label label-success radius">已启用</span>
    					@else
    						<span class="label label-default radius">已禁用</span>
    					@endif
    				</td>
    				<td class="td-manage">
    					@if($v->start==0)
    						<a style="text-decoration:none" onClick="admin_stop(this,{{$v->id}})" href="javascript:;" title="停用">
    							<i class="Hui-iconfont">&#xe631;</i>
    						</a>
    					@else
    						<a onClick="admin_start(this,{{$v->id}})" href="javascript:;" title="启用" style="text-decoration:none">
    							<i class="Hui-iconfont">&#xe615;</i>
    						</a>
    					@endif
    					<a title="编辑" href="javascript:;" onclick="admin_edit('管理员编辑','/admin/regulateedit/{{$v->id}}','1','800','')" class="ml-5" style="text-decoration:none">
    						<i class="Hui-iconfont">&#xe6df;</i>
    					</a>
    						<a title="修改密码" href="javascript:;" onclick="admin_regulateresetpwd('修改密码','/admin/regulateresetpwd/{{$v->id}}','1','800','')" class="ml-5" style="text-decoration:none">
    							<i class="Hui-iconfont">&#xe63f;</i>
    						</a>
    
    				</td>
    			</tr>
    		</tbody>
    		@endforeach
    	</table>
    </div>
    <!--_footer 作为公共模版分离出去-->
    <script type="text/javascript" src={{asset("admin/lib/jquery/1.9.1/jquery.min.js")}}></script>
    <script type="text/javascript" src={{asset("admin/lib/layer/2.4/layer.js")}}></script>
    <script type="text/javascript" src={{asset("admin/static/h-ui/js/H-ui.min.js")}}></script>
    <script type="text/javascript" src={{asset("admin/static/h-ui.admin/js/H-ui.admin.js")}}></script> <!--/_footer 作为公共模版分离出去-->
    
    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src={{asset("admin/lib/My97DatePicker/4.8/WdatePicker.js")}}></script>
    <script type="text/javascript" src={{asset("admin/lib/datatables/1.10.0/jquery.dataTables.min.js")}}></script>
    <script type="text/javascript" src={{asset("admin/lib/laypage/1.2/laypage.js")}}></script>
    <script type="text/javascript">
    /*
    	参数解释:
    	title	标题
    	url		请求的url
    	id		需要操作的数据id
    	w		弹出层宽度(缺省调默认值)
    	h		弹出层高度(缺省调默认值)
    */
    /*管理员-增加*/
    function admin_add(title,url,w,h){
    	layer_show(title,url,w,h);
    }
    /*管理员-删除*/
    function admin_del(obj,id){
    	layer.confirm('确认要删除吗?',function(index){
    		$.ajax({
    			type: 'POST',
    			url: 'admin/regulatestop',
    			dataType: 'json',
    			success: function(data){
    				$(obj).parents("tr").remove();
    				layer.msg('已删除!',{icon:1,time:1000});
    			},
    			error:function(data) {
    				console.log(data.msg);
    			},
    		});		
    	});
    }
    
    /*管理员-编辑*/
    function admin_edit(title,url,id,w,h){
    	layer_show(title,url,w,h);
    }
    function admin_regulateresetpwd(title,url,id,w,h){
    	layer_show(title,url,w,h);
    }
    /*管理员-停用*/
    <重点:new insert>这个是处理laravel的CSRF验证
    $.ajaxSetup({
    	headers: {
    		'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    	}
    });
    function admin_stop(obj,id){
    	//alert('停用'+id);
    	layer.confirm('确认要停用吗?',function(index){
    		//此处请求后台程序,下方是成功后的前台处理……
    		$.ajax({
    			type:'POST',
    			url:'/admin/regulatestop/'+id,
    			//dataType:'json',
    			data:{"start":'1'},
    			success:function(data){
    				//TODO <winner sign>js的逻辑有点问题,在上面用if判断执行启用停用操作
    				{{--$(obj).parents("tr").find(".td-status").html('<span class="label label-default radius">@if($v->start==1)已禁用@endif</span>');--}}
    				//$(obj).remove();
    				{{--$(obj).parents("tr").find(".td-manage").prepend('<a onClick="admin_start(this,{{$v->id}})" href="javascript:;" title="启用" style="text-decoration:none"><i class="Hui-iconfont">&#xe615;</i></a>');--}}
    				layer.msg('已停用!',{icon: 5,time:1000});
    				//刷新本页面,功能跟页面上右上角的刷新一样。
    				window.location.replace(location.href);
    			},error:function(){
    				layer.msg('网络错误,稍后再试!',{icon: 5,time:1000});
    			}
    		});
    	});
    }
    
    /*管理员-启用*/
    function admin_start(obj,id){
    	//alert('启用'+id);
    	layer.confirm('确认要启用吗?',function(index){
    		//此处请求后台程序,下方是成功后的前台处理……
    		$.ajax({
    			type:'POST',
    			url:'/admin/regulatestop/'+id,
    			//dataType:'json',
    			data:{"start":'0'},
    			success:function(data){
    				//TODO <winner sign>js的逻辑有点问题,在上面用if判断执行启用停用操作
    				{{--$(obj).parents("tr").find(".td-manage").prepend('<a onClick="admin_stop(this,{{$v->id}})" href="javascript:;" title="停用" style="text-decoration:none"><i class="Hui-iconfont">&#xe631;</i></a>');--}}
    				{{--$(obj).parents("tr").find(".td-status").html('<span class="label label-success radius">@if($v->start==0)已启用@endif</span>');--}}
    				// $(obj).remove();
    				layer.msg('已启用!', {icon: 6,time:1000});
    				//刷新本页面,功能跟页面上右上角的刷新一样。
    				window.location.replace(location.href);
    			},
    			error:function(){
    				layer.msg('网络错误,稍后再试!',{icon: 5,time:1000});
    			}
    		});
    		
    
    	});
    }
    </script>
    </body>
    </html>
    

    我只是一个小白,增加,修改分开写的,哪位小伙伴可以结合在一起,欢迎修改。

    展开全文
  • Laravel 表单验证常用的验证规则和示例 <?php namespace App\Http\Controllers; use App\Models\Users; use Illuminate\Support\Facades\Validator; use Symfony\Component\HttpFoundation\Request; class ...
  • Laravel 5.7 起,Laravel 自带了邮箱验证的相关字段和功能 1.调整模型类 首先,调整下User 模型类,实现MustVerifyEmail接口 use Illuminate\Auth\MustVerifyEmail as MustVerifyEmailTrait; use ...
  • 'active_url' => '是否是一个合法的url,基于PHP的checkdnsrr函数,因此也可以用来验证邮箱地址是否存在', 'after:date' => '验证字段必须是给定日期后的值,比如required|date|after:tomorrow,通过PHP函数...
  • Laravel表单验证

    2021-09-14 17:00:40
    return [ 'accepted' => '必须为yes,on,1,true', 'active_url' => '是否是一个合法的url,基于PHP的checkdnsrr函数,因此也可以用来验证邮箱地址是否存在', 'after:date' => '验证字段必须是给定日期后的值,比如...
  • Laravel发送邮箱消息验证 945的密码:umywcvkrfrytfeef ENV的配置如下: MAIL_DRIVER=smtpMAIL_HOST=smtp.qq.comMAIL_PORT=25MAIL_USERNAME=XXXXX@qq.comMAIL_PASSWORD=umywcvkrfrytfeefMAIL_...
  • laravel 数据验证规则

    千次阅读 2019-06-20 15:19:00
    1.已支持的 ... '是否是一个合法的url,基于PHP的checkdnsrr函数,因此也可以用来验证邮箱地址是否存在', 'after:date' => '验证字段必须是给定日期后的值,比如required|date|after:tomo...
  • laravel 项目实现邮箱验证功能

    千次阅读 2018-08-28 14:43:19
    邮箱验证功能在很多网站都有用到,我的个人网站上也用到,邮箱验证需要用到邮件发送服务,Laravel 提供了非常简单的邮件发送 API,Laravel 项目实现邮件发送功能很简单,下面我开始介绍一下我的具体实现。...
  • laravel 邮箱认证

    2019-06-13 16:27:00
    修改 User 模型,将 Laravel 自带的邮箱认证功能集成到我们的程序中 <?php namespace App\Models; use Illuminate\Notifications\Notifiable; use Illuminate\Auth\MustVerifyEmail as ...
  • laravel validate 验证

    万次阅读 2018-09-09 13:50:20
    1、简介 Laravel 提供了多种方法来验证应用输入数据。默认情况下,Laravel 的...要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子。 定义路由 首先,我们假定在routes/...
  • laravel验证

    千次阅读 2020-06-27 23:39:51
    Laravel 提供了多种不同的验证方法来对应用程序传入的数据进行验证。 注:多个验证规则可以通过 "|" 字符进行隔开 规则名 说明 required 不能为空 max:value ...
  • laravel邮箱找回密码

    2021-09-18 15:35:30
    创建一个验证邮箱验证码是否正确的中间件: 运行命令:php artisan make:middleware CheckEmailCode 写入: <?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class ...
  • laravel 更新验证

    2019-03-20 14:18:00
    public function update(Request $request, User $user) { // 验证规则. $rules = [ 'email' => [ 'nullable', 'email', ...
  • laravel邮箱认证

    千次阅读 2020-06-13 21:02:08
    1.首先在UserModel引入邮箱认证相关功能 <?php namespace App\Models; use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract; use Illuminate\Foundation\Auth\User as Authenticatable;...
  • 邮箱验证 laravel框架

    千次阅读 2018-09-19 18:11:05
    邮箱验证 邮箱验证功能实现具体步骤如下: 添加字段,为用户表添加两个字段,验证令牌 (verification_token) 和验证状态 (verified) 。 生成令牌。 用户登录后,检测是否验证过邮箱,没有则引导去验证。 使用...
  • Laravel 数据验证

    2017-11-19 20:03:00
    3, Laravel 中,我们只需简单的使用 email 便能够完成邮箱格式的验证。 'email' => 'email' 4,唯一性验证,这里是针对于数据表  users  做验证 'email' => 'unique:users' 5,确保用户在输入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,091
精华内容 436
关键字:

laravel邮箱验证