2015-09-14 68 views

回答

1

您需要添加用戶通過單擊發送給他們的電子郵件中的鏈接驗證其電子郵件地址的功能。

這通常看起來是這樣的:

添加遷移

class AddVerificationColumnsToUsersTable extends Migration { 

    public function up() 
    { 
     Schema::table('users', function(Blueprint $table) 
     { 
      $table->boolean('confirmed')->default(0); 
      $table->string('confirmation_code')->nullable(); 
     }); 
    } 

    public function down() 
    { 
     Schema::table('users', function(Blueprint $table) 
     { 
      $table->dropColumn('confirmed'); 
      $table->dropColumn('confirmation_code'); 
     }); 
    } 
} 

內,您的註冊邏輯,你將需要設置驗證碼:

這是一個例子,將必須根據您的註冊實施進行修改:

public function store() 
{ 
    // Logic that gets input and creates $user goes here 
    $user->confirmation_code = str_random(30); 
    $user->save(); 

    Mail::send('emails.verification', ['user' => $user], function($message) use ($user) 
    { 
     $message->from('[email protected]', 'Yoursite'); 
     $message->to($user->email); 
    }); 
} 

您將需要創建一個電子郵件模板:

// resources/views/emails/verification.blade.php 

Hi {{ $user->name }}, 

Please click the following link to verify your account: 
<a href="{{ route('users.verify') }}">{{ route('users.verify') }}</a> 

最後,你需要驗證路線:

// routes.php 

Route::get('users/verify/{confirmation_code}', [ 
    'as' => 'users.verify', 
    'uses' => function ($confirmation_code) { 
     $user = User::where('confirmation_code', $confirmation_code)->first(); 
     $user->confirmed = true; 
     $user->save(); 
    } 
] 
0

這只是可能與確認電子郵件發送到已知的電子郵件地址。 你什麼時候需要檢查 - 註冊,通訊或什麼? 如果您想使用確認,那麼您需要在數據庫中添加一個新列,該列包含分配的隨機標記和一個視圖/控制器/路徑以檢查此標記(確認/ 1234567890),然後使用此標記搜索用戶並設置一個標識該用戶被確認。