After re-reading my own post.. I've been encrypting the email into the database, not the password.
'password' => bcrypt($request['email']),
is now
'password' => bcrypt($request['password']),
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I've downloaded Laravel 5.1 and there's no login stuff, so I'm trying to create my own.
The register functionality all works (will clean up code once I've finished).. The logout function works, manually logged in to test it.
But the log in doesn't work at all.
I've debugged it so much and it just isn't logging in. I've done "dd($request['username'])" and "dd($request['password'])" and they're both being put in correctly but the script always returns 'Invalid username or password'.
Am I doing something wrong?
<?php
namespace App\Http\Controllers;
use App\User;
use Carbon\Carbon;
use App\Http\Requests;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Input;
class AuthController extends Controller
{
/**
* Constructor for AuthController
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'getLogout']);
}
/**
* Displays a register form for the user.
*
* @return \Illuminate\View\View
*/
public function getRegister()
{
return view('auth.register');
}
/**
* Displays a login form for the user.
*
* @return \Illuminate\View\View
*/
public function getLogin()
{
return view('auth.login');
}
/**
* Logs the user out and redirects them.
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function getLogout()
{
Auth::logout();
return redirect('/');
}
/**
* Validates form and creates user.
*
* @param Requests\RegisterUserRequest $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function postRegister(Requests\RegisterUserRequest $request)
{
// Create carbon instance of birthday.
$date = explode('-', $request['date_of_birth']);
$request['birthday'] = Carbon::createFromDate($date[0], $date[1], $date[2])->startOfDay();
// Create gender
if ( $request['gender'] == 1 ) {
$request['gender'] = "male";
} else {
$request['gender'] = "female";
}
// Add user to database.
$user = User::create([
'username' => $request['username'],
'email' => $request['email'],
'password' => bcrypt($request['email']),
'name' => $request['name'],
'gender' => $request['gender'],
'date_of_birth' => $request['birthday'],
]);
// Automatically log the user in.
Auth::login($user, true);
return redirect('/');
}
public function postLogin(Requests\UserLoginRequest $request)
{
$credentials = array(
'username' => $request['username'],
'password' => $request['password']
);
if ( ! Auth::attempt($credentials, $request['remember']) ) {
return 'Invalid username or password.';
}
dd( Auth::user() );
}
}
After re-reading my own post.. I've been encrypting the email into the database, not the password.
'password' => bcrypt($request['email']),
is now
'password' => bcrypt($request['password']),
Please or to participate in this conversation.