2017-05-11 12 views
1

招待のみのプラットフォームで作業を確認しています。船内に入るには有効なトークンを入力する必要があります。Laravel 5.4結果が返される前に、アイテムが配列に含まれているかどうかを正しく確認してください。

最初のトークンのみが検証され、テーブル内の他のトークンもチェックされません。これを構造化してすべてのトークンをチェックし、配列をチェックした後にのみelseステートメントに行く最良の方法は何でしょうか。

$this->validate($request,['pin' => 'required|numeric|digits:6']); 

    $token = $request->input('pin'); 


    $all_pins = \App\Pin::all()->toArray(); 
    if (in_array($token,$all_pins,true)) 
     { 

      $user = Auth::user()->id; 
      $user = $this->user->find($user); 
      $user->pin = $token; 
      $user->is_activated = true; 
      $user->has_pin = true; 
      $user->save(); 

      flash('Your Pin was valid, Welcome', 'success'); 
      return redirect()->route('token_page'); 

     } 

     else 
     { 
      flash('Sorry this pin is not valid', 'warning'); 
      return redirect()->route('reg_token_check'); 
     }` 

`

+1

これを試してみトークン$と$ all_pins – Exprator

+0

の出力は、私はそれをDDと、彼らは有効であった示しました。何がすべてチェックされるべきだと言おうとしていますが、この場合、有効でないものをチェックすると、elseステートメントが返されます –

+0

他の前にスペースが1つありますか? – C2486

答えて

2
foreach($all_pins as $value){ 
if($token == $value){ 
//do if part 
    } 
else{ 
//do else part 
    } 
} 

関連する問題