



function login()
{ $username = request('username'); $password = request('password');
$sql = "SELECT * FROM USERS WHERE username = '$username' AND password = encrypt('$password')";
$user = mysql_query($sql); if ($user) { return redirect('/dashboard'); }
else { throw new Error("Username or password not correct!"); }}function login()
{ $username = request('username'); $password = request('password');
$sql = "SELECT * FROM USERS WHERE username = '$username' AND password = encrypt('$password')";
$user = mysql_query($sql); if ($user) { return redirect('/dashboard'); }
else { throw new Error("Username or password not correct!"); }}
function login()
{ $username = request('username'); $password = request('password');
$sql = "SELECT * FROM USERS WHERE username = '$username' AND password = encrypt('$password')";
$user = Database::get()->query($sql); if ($user) { return redirect('/dashboard');
}
else { throw new Error("Username or password not correct!"); }}
function login()
{ $username = request('username'); $password = request('password');
$user = Authenticator::get()->authenticate($username, $password);
if ($user) { return redirect('/dashboard');
}
else { throw new Error("Username or password not correct!"); }}
function login($authenticator)
{ $username = request('username'); $password = request('password');
$user = $authenticator->authenticate($username, $password);
if ($user) { return redirect('/dashboard');
}
else { throw new Error("Username or password not correct!"); }}
class Authenticator { function authenticate($username, $password) { return ($password === "realpassword"); }}
// Test Login
function testLogin() {
assertError(login("gerard", "wrongpassword")); assertTrue(login("gerard", "realpassword"));
}
Use the simplest solution, until you feel pain.


"If you're not breaking things, you're not moving fast enough."
He who ships, wins.
<img src="...">
What makes software successful?
Ask yourself:
"In god we trust. All others bring data."
Habits to form:
