Question

Magento ver. 1.7.0.2

When creating an account (/customer/account/create) I get the error "The last name cannot be empty." even though I entered a last name.

In the controller...

/app/code/core/Mage/Customer/controllers/AccountController.php

..I added a var_dump() at line 277 (createPostAction)

// die(var_dump($_POST));
// result

array(7) { 
["success_url"]=> string(0) "" 
["error_url"]=> string(0) "" 
["firstname"]=> string(3) "Jon" 
["lastname"]=> string(8) "Chambers" 
["email"]=> string(21) "abcd@hotmail.com" 
["password"]=> string(8) "password" 
["confirmation"]=> string(8) "password" 
}

The "lastname" is being passed in the $_POST but it is not being added to $customerData.

// die(var_dump($customerData));
// Result

array(2) { 
["firstname"]=> string(3) "Jon" 
["email"]=> string(21) "clhosting@hotmail.com" 
}

Has anyone run into this before or know a workaround for it?

Thanks.

Edit:

It was a long road... thanks to Slayer Birden who got me started in the right direction. From there I saw that lastname did not register in any inputs (create account, customer info, etc).

I ended replacing all the [database]_customer_... tables. That got me back on track and it's all working again, phew!

Was it helpful?

Solution

If you check method Mage_Eav_Model_Form::extractData you'll see that it iterates the entity attributes and tries to set data for them.

So you need to check if you have all your customer attributes in place.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top