2016-12-21 26 views
2

誰でも結果が等しいときは応答をエコーし​​ますが、結果がfalseのときは空白のページが表示されます。私はどこか間違っていると確信しています。laravel if文が正常に動作しない

if(isset($_GET['EX1']) && $_GET['EX2'] != ""){ 

     $Email = $_GET['EX1']; 
     $Password = $_GET['EX2']; 

     $userDetails = DB::table('applicants') 
      ->where('Email', '=', $Email) 
      ->where('Password','=', $Password) 
      ->get(); 

     if($Email = $userDetails[0]->Email && $Password = $userDetails[0]->Password){ 

      echo 'Both are the same '; 

     }else{ 

      echo 'Not the same'; 

     } 
    } 
+0

を使用しています返されます割り当て=の代わりに、比較==を使用している

if($Email == $userDetails[0]->Email && $Password == $userDetails[0]->Password){ 

すべきですか? –

+0

なぜあなたは 'Request'を使用していませんか? –

+0

配列の最初のユーザを探しているだけなら、 'get()'の代わりに 'first()'を使うことができます。その後、あなたのuserDetailsから '[0]'を削除することができます。 – aynber

答えて

0

これは機能します。

public function myfunction(Request $request) { 
    if(!empty($request->EX1) && !empty($request->EX2)){ 

     $Email = $request->EX1; 
     $Password = $request->EX2; 

     $userDetails = DB::table('applicants') 
      ->where('Email', '=', $Email) 
      ->where('Password','=', $Password) 
      ->get(); 

     if($Email == $userDetails[0]->Email && $Password == $userDetails[0]->Password){ 

      return 'Both are the same '; 

     }else{ 

      return 'Not the same'; 

     } 
    } else { 
     return 'error'; 
    } 
} 

ところで、あなたはif(.... == ....)if(.... = ....)を変更する必要があります。 =は値を割り当てるためのもので、==は値の比較用です。

希望の作品です!

2
if($Email = $userDetails[0]->Email && $Password = $userDetails[0]->Password){ 

あなたはいつもあなたがルートまたはコントローラでこれをtrue

関連する問題