思路 1.注册验证 不能为空 不能有重复 2.注册成功 3.注册成功自动发送邮件
大概代码如下 先创建一个表单
第一步 静态页面 这里的session是 我在书写控制器里验证的东西 可以看控制器里的with就知道了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div style="font-size:25px;color:red;text-align:left;font-weight:bolder;">
@if(Session::has('user'))
{{Session::get('user')}}
@endif
@if(Session::has('password'))
{{Session::get('password')}}
@endif
@if(Session::has('email'))
{{Session::get('email')}}
@endif
@if(Session::has('user1'))
{{Session::get('user1')}}
@endif
@if(Session::has('email1'))
{{Session::get('email1')}}
@endif
</div>
<form action="{{url('reg')}}" method="post">
<h1>注册账号</h1>
账号: <input type="text" name="user"><br>
密码: <input type="password" name="password"><br>
邮箱: <input type="text" name="email"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
然后再控制器里代码如下
因为要发送带样式的 所以send是包含有样式的邮箱 function后面跟了个use 是因为表单填写完邮件就是需要发送的邮件
<?php
namespace App\Http\Controllers\reg;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Model\Reg;
use Mail;
class RegController extends Controller{
public function reg(Request $request){
if($request->isMethod('post')){
$rel=$request->all();
if(empty($rel['user'])){
return redirect('reg')->with('user','用户不能为空');
}
if(empty($rel['password'])){
return redirect('reg')->with('password','密码不能为空');
}
if(empty($rel['email'])){
return redirect('reg')->with('email','邮箱不能为空');
}
$user = DB::table('jy_reg')->where('user',$rel['user'])->first();
if($user){
return redirect('reg')->with('user1','该手机号已经注册');
}
$email = DB::table('jy_reg')->where('email',$rel['email'])->first();
if($email){
return redirect('reg')->with('email1','该邮箱已被注册');
}else{
$arr['user']=$rel['user'];
$arr['password']=$rel['password'];
$arr['email']=$rel['email'];
$data = DB::table('jy_reg')->insert($arr);
if($data){
$email = $rel['email'];
Mail::send('reg.regindex',['user'=>$rel['user'],'password'=>$rel['password']],function($message)use ($email){
$message->from('发件人邮箱','发件人姓名');
$message->subject('标题');
$message->to($email);
});
return "已向您发送了邮件";
}
}
}else{
return view('reg.reg');
}
}
}
?>
因为是带样式的邮箱 所以还需要写一个页面 控制器里的send 第一个参数就是样式模板
第三步
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<table border="1">
<h1>恭喜,注册成功</h1>
<h2>您的账号为{{$user}}</h2>
<h2>您的密码为{{$password}}</h2>
<h2>请您牢记</h2>
</table>
</body>
</html>