close ad
Install the LAtest Updates to Work with CC 2017 and CC 2018
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

I need to track logins and whether they are successful or not

Thread began 1/26/2016 11:44 pm by dionysus224892 | Last modified 1/28/2016 12:55 am by Ray Borduin | 306 views | 6 replies |

dionysus224892

I need to track logins and whether they are successful or not

I added an insert query just before the $Authenticate->execute() on my login page and it inserts into a login table the username, time and ISP of the person loggin in.

I wanted to test for a successful login and record that as well. Here's the code I added but I've not quite got it right because it always shows as successful even when I fail.

$InsertQuery = new WA_MySQLi_Query($eee);
$InsertQuery->Action = "insert";
$InsertQuery->Table = "logins";
$InsertQuery->bindColumn("loguser", "s", "".((isset($_POST["user"]))?$_POST["user"]:"") ."", "WA_DEFAULT");
$InsertQuery->bindColumn("logisp", "s", "". $_SERVER['REMOTE_ADDR']."", "WA_DEFAULT");
if ($SuccessRedirect) {
$InsertQuery->bindColumn("success", "i", "". 1 ."", "WA_DEFAULT");
} else {
$InsertQuery->bindColumn("success", "i", "". 0 ."", "WA_DEFAULT");
}
$InsertQuery->saveInSession("login");
$InsertQuery->execute();

What am I doing wrong?

Sign in to reply to this post

Ray BorduinWebAssist

That won't work... I think you can use that to insert every time. Just remove the if statement.

Then set up a failed redirect in your login that passes a url parameter. You can then apply a second insert based on the existence of the url parameter that inserts the failed log. You could also apply the delete record server behavior to delete the success record that was inserted. Just make sure to manually move around the code so that the order is:

1) insert success log, save id in session as "login" using the login button press trigger
2) delete the record with the id = $_SESSION['login'] using the url parameter for failed login as a trigger
3) insert failure log using the url for failed login as a trigger
4) user login code

Sign in to reply to this post

dionysus224892

Thanks for getting back to me on these 2 issues... I will try to do what you're saying but how do I save the ID of the last inserted login entry in a session to delete it?

In fact, if I can get that ID, then I won't have to delete it but simple update it to 'failed', no?

Sign in to reply to this post

Ray BorduinWebAssist

Yes that actually would work. You could use an Insert and then an Update instead of an insert, delete, insert.

Sign in to reply to this post

dionysus224892

Hi! Thanks for getting back to me. I'm just curious how to reference the ID ? I'm trying some code but it's not working. Please take a look.

After the insert code done at each login, whether successful or not, I added this :

$InsertQuery->execute();
$_SESSION['lastid'] = $InsertQuery->insert_id;

Then I have this at the top of the login page :

if ($_GET['error']) {
$UpdateQuery = new WA_MySQLi_Query($eee);
$UpdateQuery->Action = "update";
$UpdateQuery->Table = "logins";
$UpdateQuery->bindColumn("success", "i", "". 0 ."", "WA_DEFAULT");
$UpdateQuery->addFilter("logid", "=", "i", "".($_SESSION['lastid']) ."");
echo $UpdateQuery;
$UpdateQuery->execute();
$UpdateGoTo = "";
if (function_exists("rel2abs")) $UpdateGoTo = $UpdateGoTo?rel2abs($UpdateGoTo,dirname(__FILE__)):"";
$UpdateQuery->redirect($UpdateGoTo);


Am I far off? This seems like it should work. Thanks!

Sign in to reply to this post

Ray BorduinWebAssist

You should have this line in the insert code:

$InsertQuery->saveInSession("login");

that will save the inserted ID as $_SESSION['login']

Sign in to reply to this post

dionysus224892

THANK YOU! It was there all along and I didn't realize what it was saving in the session. :)

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...