How do I troubleshoot login problems?
Logging in can fail in several places and in several ways. Always work through the same order: first establish where and how someone logged in, then open the user log, and only after that look at the e-mail.
Step 1: which entrance and which method?
i-Reserve has two entrances, each with its own login methods. Almost every report belongs to one of these paths.
| Entrance | Address | Possible methods |
|---|---|---|
| Admin panel | /admin | Password, external provider (SSO), two-factor authentication, central hub |
| Front pages | front.php?mod=login | Password, one-time code by e-mail, external provider (SSO) |
So always ask three things: which address, which button, and what the screen said literally. "Login does not work" cannot be investigated without those three answers.
Step 2: look in the user log
Go to Users and click the Logs button. Every attempt is listed there, successful or not.
| Column | What it tells you |
|---|---|
| Action | What exactly happened, with the technical code underneath. See the list of action codes. |
| Result | Success or Fail. Note that a failed attempt followed by a successful one is usually just a typo. |
| Admin | Yes means the admin panel, empty means the front pages. This is how you tell the two entrances apart. |
| Username | What was typed. For an external provider this shows the name of that provider or the e-mail address. |
| DNS | The IP address or hostname of the visitor. Useful to see whether several attempts come from the same person. |
| User agent | Browser and device. If it says cli or taskrunner, the row comes from a background process, not from a person. |
| Date time | Compare this with the time the reporter mentions. If it differs, you are looking at the wrong row. |
The code in the Action column tells you exactly where it went wrong: whether the username does not exist, the password was wrong, the account is not active, or the code had expired.
Step 3: no row at all?
Then the attempt never reached the login check. Think of:
- a different (sub)domain or environment than the one you are looking at;
- an old page from the browser cache, so the form points at an address that no longer exists;
- blocked cookies or an adblocker that stops the captcha;
- a time that does not match: ask the reporter to try again while you watch.
If there is a successful row at the same moment from a different IP address, it did work elsewhere and the problem sits with the device or network of the reporter.
Step 4: is it about an e-mail?
The login code, the password reset link and the username reminder all travel by e-mail. Creating them almost always works; sending and arriving is where it goes wrong. Go to Configuration > System > Logs - E-mails and search for the e-mail address of the user. The Result column tells you how far the mail got.
| Result | Meaning | What you do |
|---|---|---|
| Not sent | i-Reserve did not hand the mail over. | Check whether the user has a valid e-mail address; the user log then holds a code pointing at a missing address. |
| Sent | The mail was handed to the mail server, no feedback yet. | Wait a moment and refresh; under load this can take a few minutes. |
| Delivered | The receiving server accepted the mail. | The mail arrived. If it is not in the inbox, have the recipient check spam and quarantine. |
| Opened | The recipient opened the mail. | The mail is certainly there. The problem is further along, for instance a code that has expired. |
| Failed | The receiving server refused the mail. | Read the Message column: unknown address, full mailbox or a refusal on reputation. |
The templates used are called verify_login (the login code), forgotpassword, forgotusername and admin_password_reset. The same log also shows the sending domain and the SPF record: if mail structurally lands in spam, that is where the investigation starts.
Common reports
| The reporter says | Where you look | Most common cause |
|---|---|---|
| "I do not get a login code" | E-mail log and the action code | No e-mail address on the user, or the mail is in the spam folder. |
| "My password does not work" | Action code: loginPass or loginNonex | With loginNonex the username is wrong; only with loginPass is it really the password. |
| "Suddenly I cannot log in any more" | Action code passwordCleared | The account was switched to logging in with an e-mail code. |
| "The Microsoft or Google login button does nothing" | Action codes starting with Oauth or loginExt | The user is unknown in i-Reserve, or the provider refuses consent. |
| "I am sent to a different login page" | Action codes starting with central | The account is managed centrally and logs in there. |
| "Nothing happens when I click log in" | No row in the log | Captcha, cookies or a wrong address: see step 3. |
Rights
For the e-mail log you need the right menu_config_log_emails, for the error log menu_config_log_errors. The user log is opened with the Logs button on the Users screen.
See also How do I let customers log in with an e-mail code? and How can a customer log in?.


