MaxDB PHP Generator online Help
Prev | Return to chapter overview | Next |
OnAfterLogin
This event occurs after a user is successfully logged in into the application.
Signature:
function OnAfterLogin ($userName, $connection, &$canLogin, &$errorMessage)
Parameters:
$userName |
The name of the logged user. |
$connection |
An instance of the EngConnection class. |
$canLogin |
Specifies whether a user can login (true by default). You can set the value of this parameter to false to disable login even for a user who provided valid credentials. |
$errorMessage |
A message to be displayed when valid credentials are provided, but $canLogin == false. |
Example 1:
Among other things this event can be used for tracking the user activity. The code snippet below inserts a new record containing user name and the login time into the 'log' table.
$connection->ExecSQL("INSERT INTO log(user_name, log_date)
VALUES ('$userName', CURRENT_TIMESTAMP)");
Example 2:
The following code allows to redirect users to home page after login.
header('Location: index.php');
exit;
Example 3:
The following code locks user account if number of failed login attempts exceeded otherwise the counter of failed login attempts is reset.
$sql = "SELECT failed_login_attempts FROM phpgen_users WHERE user_name='$userName'";
$failedLoginAttempts = $connection->ExecScalarSQL($sql);
if ($failedLoginAttempts >= 3) {
$canLogin = false;
$errorMessage =
"Dear $userName, your account is locked due to too many failed login attempts.";
} else {
$sql = "UPDATE phpgen_users SET failed_login_attempts = 0 WHERE user_name='$userName'";
$connection->ExecSQL($sql);
}
See also: OnAfterFailedLoginAttempt and OnBeforeLogout events
Prev | Return to chapter overview | Next |