Choose your database:
MS SQL Server
SQL Anywhere

Subscribe to our news:
Peter Robinson: "As a tech savvy company director, I wanted an inexpensive web based database application to manage all aspects of my business. As with most humans I find developing purely by CLI very hard and do not have the will or time to invest in improving my skills. I was looking to find a nice human friendly GUI to design and build my application, which is when I came across PHP Generator for MySQL.

Whilst you still need a great understanding of logic and a small amount of programming ability to get the specific results you require, I am very happy with the speed of progress I have been making with this invaluable tool.

With all the standard libraries included, this product makes normal requirements such as JavaScript form validation, lookup selectors, on click events, auto complete, detailed searches, multiformat exports, rss feeds and username security straight forward and quick.

Having any changes made via the GUI written to the web server at the click of a button makes testing out ideas quick and easy without fear of breaking your application.

To conclude, I couldn't find any other product on the market that came close to offering the amount of options this does, and I do hope that more products like this come out in the future, with the hope of eventually eradicating the need to program all together".

Steve Morton: "First let me thank you for making this application Free. Best deal I have ever see for what it does".


Add your opinion

PHP Generator for MySQL online Help

Prev Return to chapter overview Next


This event occurs after a failed login attempt. It allows you to trace failed login attempts. The event is usually used in conjunction with OnAfterLogin event. For example, you can limit the number of failed login attempts per user and to lock user account after a number of failed login attempts.



function OnAfterFailedLoginAttempt ($userName, $connection, $&errorMessage)




The name of the user.


An instance of the EngConnection class.


A message to be displayed when valid credentials are provided, but $canLogin == false.



The following code locks user accounts after three failed login attempts.


// Check if user exists

$sql = "SELECT count(*) FROM phpgen_users WHERE user_name='$userName'"; 

$userExists = $connection->ExecScalarSQL($sql);

if ($userExists == 0) {




// Retrieve a number of previous failed login attempts

$sql = "SELECT failed_login_attempts FROM phpgen_users WHERE user_name='$userName'"; 

$failedLoginAttempts = $connection->ExecScalarSQL($sql);


// Add a current failed login attempt  



// Display message based on a number of failed login attempts   

if ($failedLoginAttempts == 2) {

  $errorMessage = 'You have one attempt left before your account will be locked.';

} elseif ($failedLoginAttempts == 3) {

  $errorMessage = 'Too many failed login attempts. Your account has been locked.';

} elseif ($failedLoginAttempts > 3) {

  $errorMessage = 

    "Dear $userName, your account is locked due to too many failed login attempts. " .

    'Please contact our support team.';



// Update a number of failed login attempts in users table

if ($failedLoginAttempts <= 3) { 

  $sql = 

    "UPDATE phpgen_users " .

    "SET failed_login_attempts = $failedLoginAttempts " .

    "WHERE user_name='$userName'";





Prev Return to chapter overview Next