Jump to content

Login via API error


Karl_T
 Share

Recommended Posts

register ajax code

$email = $sanitizer->email($input->post->email);
if($email){
  $emailUser = $users->get("email=$email");
  if (!$emailUser->id) {
    $password = $input->post->password;
    if (strlen($_POST["password"]) < 8) {
      return "length";
    }
    $firstname = $sanitizer->text($input->post->firstname);
    $lastname = $sanitizer->text($input->post->lastname);
    $u = new User();
    $u->name = $firstname.$lastname.uniqid();
    $u->email = $email;
    $u->pass = $input->post->password;
    $u->firstName = $firstname;
    $u->lastName = $lastname;
    if($u->save()){
      return "success";
    }
  } else {
    return "duplicate";
  }
}else{
 return "invalidemail";
}

login ajax code

$email = $sanitizer->email($input->post->email);
if($email){
    $emailUser = $users->get("email=$email"); //user login with email address
    if ($emailUser->id) {
    	$u = $session->login($emailUser->name, $input->post->password);
        if ($u) {
            $user = $u;
            return "success";
        } else {
            return "fail";
        }
    } else {
        return "fail";
    }
}

 

After users register an account and login with the above code, I get the follow error when executing the login ajax code.

 

Notice: Trying to get property of non-object in /var/app/current/wire/core/PagesEditor.php on line 251 
Notice: Trying to get property of non-object in /var/app/current/wire/core/PagesEditor.php on line 254 
Notice: Trying to get property of non-object in /var/app/current/wire/core/PagesEditor.php on line 263 
Notice: Trying to get property of non-object in /var/app/current/site/assets/cache/FileCompiler/site/modules/ProcessSetupPageName/ProcessSetupPageName.module on line 258 
Notice: Trying to get property of non-object in /var/app/current/site/assets/cache/FileCompiler/site/modules/ProcessSetupPageName/ProcessSetupPageName.module on line 258 
Notice: Trying to get property of non-object in /var/app/current/site/assets/cache/FileCompiler/site/modules/ProcessSetupPageName/ProcessSetupPageName.module on line 289 

Fatal error: Uncaught Error: Call to a member function numChildren() on null in /var/app/current/wire/core/PagesEditor.php:270 Stack trace: 
#0 /var/app/current/wire/core/Pages.php(788): ProcessWire\PagesEditor->setupNew(Object(ProcessWire\NullPage)) 
#1 /var/app/current/wire/core/Wire.php(383): ProcessWire\Pages->___setupNew(Object(ProcessWire\NullPage))
#2 /var/app/current/wire/core/WireHooks.php(698): ProcessWire\Wire->_callMethod('___setupNew', Array) 
#3 /var/app/current/wire/core/Wire.php(442): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Pages), 'setupNew', Array) 
#4 /var/app/current/wire/core/PagesEditor.php(465): ProcessWire\Wire->__call('setupNew', Array) 
#5 /var/app/current/wire/core/Pages.php(410): ProcessWire\PagesEditor->save(Object(ProcessWire\NullPage), Array) 
#6 /var/app/current/wire/core/Wire.php(386): ProcessWire\Pages->___save(Object(ProcessWire\NullPage), Array) 
#7 /var/app/current/wire/core/WireHooks.php(698): ProcessWire\Wire->_callMethod('___save', Array) 
#8 /var/app/current/wire/core/Wire.php(4 in /var/app/current/wire/core/PagesEditor.php on line 270 Error: Uncaught Error: Call to a member function numChildren() on null in /var/app/current/wire/core/PagesEditor.php:270 

I have no idea why this is happening. The account is newly created from the register code with no error. After the error show, the account is actually logged in after a page reload. That means the $session->login is getting the correct arguments. The error messages do not show the exact line of code which fires the error.

I use the same login to log in my superuser without error. The error occurs only when the user is newly created by the above code or by the admin panel.

I can only find this similar case https://processwire.com/talk/topic/15204-cannot-login-errors-wirecorepageseditorphp/, but it seems not the same case.

Any thoughts? Thanks in advance.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...