2016-10-17 4 views
0

У меня есть модуль регистрации в системе, который построен с использованием auth.Every думаю, работает нормально. Предположим, у меня есть следующий адрес электронной почты [email protected] в таблице пользователя базы данных, но когда я пытаюсь войти в его сообщение о неправильном адресе электронной почты. уверен, что его дает ошибку из-за plus по электронной почте id.In моего проекта его необходимо принять плюс из-за alias.Can любой один помочь мне, как это исправить issue.I я использую сырой запросLaravel неверный адрес эл. Почты в Login

$userDetails = DB::table('users')->select('id', 'firstname', 'lastname', 'email', 'password', 'role', 'confirm', 'status')->where('email', $email)->first(); 

Изменено

public function login(Request $request) {  
     $validator = Validator::make($request->all(), [ 
     'password' => 'required', 
     'email' => 'required', 
     ]); 
     if ($validator->fails()) { 
      echo "error"; 
     } 
     $email = $request->input('email'); 
     $password = $request->input('password'); 
     \Log::info($email); 

     $userDetails = DB::table('users')->select('id', 'firstname', 'lastname', 'email', 'password', 'role', 'confirm', 'status')->where('email', $email)->first(); 

     if (count($userDetails) != 0) { 

Обновлено 2

<form class="form-horizontal" role="form" method="POST" action="{{ url('/auth/login') }}"> 
         <input type="hidden" name="_token" value="{{ csrf_token() }}"/> 
         <h4 class="nomargin">Sign in</h4> 

         <input type="text" class="form-control uname" name="email" placeholder="email" autocomplete="off" value="{{ old('email') }}" /> 
         <input type="password" class="form-control pword" name="password" placeholder="password" autocomplete="off" /> 
         <a style="color:#17a08c" href="{{ url('/password/email') }}"><small>Forgot Password</small></a> 
         <button type="submit" class="btn btn-success btn-block text-capitalise">Sign in</button> 
        </form> 
+1

Перед тем, как вы написали выше, вы можете сделать '\ Log :: info ($ email)' и посмотреть, что передается в построитель запросов? Записанное сообщение будет доступно в 'storage/logs/laravel.log' –

+0

@ LionelChan. Спасибо за предложение. Я получаю пустое место вместо плюс – iCoders

+0

@ LionelChan.is есть способ принять плюс по электронной почте – iCoders

ответ

1

Если вы отправляете через get метод, то плюс (+) является проблема в URL-адресе и заменена пробелом. Перед передачей вам нужно закодировать параметры, чтобы он не удалял +.

0

поставить двойные кавычки в переменной $ Eamil как следующий за ним мат работы:

$userDetails = DB::table('users')->select('id', 'firstname', 'lastname', 'email', 'password', 'role', 'confirm', 'status')->where('email',"$email")->first(); 
+0

.Это не проблема с вопросом .issue с ​​адресом электронной почты. $ Request-> input ('email') trim плюс по электронной почте – iCoders

+0

, что означает, что laravel проверяет знак удаления электронной почты плюс значение, $ request-> input ('email') - это видение [email protected], а не vision [email protected]? –

Смежные вопросы