I did the customer update section from outside the Magento directory like this, <?php require_once ("../../app/Mage.php"); umask(0); Mage::app(); Mage::app()->loadArea('frontend'); Mage::getSingleton('core/session', array('name' => 'frontend')); $layout = Mage::getSingleton('core/layout'); $pageTitle = ""; $_SESSION[msg] = ""; if (isset($_POST['updateCustomer'])) { $customerId = $_POST['customerId']; $customer_email = $_POST['customerEmail']; $customer_fname = $_POST['customerFirstname']; $customer_lname = $_POST['customerLastname']; $customer_password = $_POST['customerPassword']; $shipping_id = $_POST['shippingId']; $shippingParent = $_POST['shippingParent']; $street = $_POST['shippingStreet']; $city = $_POST['shippingCity']; $postal = $_POST['shippingPostcode']; $telephone = $_POST['shippingTelephone']; $region = $_POST['shippingRegion']; $country = 'IN'; $customer = Mage::getModel('customer/customer')->load($customerId); $customer->setWebsiteId(Mage::app()->getWebsite()->getId()); if ($customer->getId()) { $customer->setEmail($customer_email); $customer->setFirstname($customer_fname); $customer->setLastname($customer_lname); if ($customer_password != '') { $customer->setPassword($customer_password); } try { $customer->save(); $customer->setConfirmation(null); $customer->save(); $_SESSION['username'] = $customer_email; $_SESSION['firstname'] = $customer_fname; $_SESSION['first_order'] = "Y"; $_SESSION['user_id'] = $customer->getId(); $customer->sendNewAccountEmail(); } catch (Exception $ex) { } $address = Mage::getModel("customer/address")->load($shipping_id); $address->setCustomerId($shippingParent) ->setShippingId($shipping_id) ->setFirstname($customer->getFirstname()) ->setMiddleName($customer->getMiddlename()) ->setLastname($customer->getLastname()) ->setCountryId($country) ->setRegionId($region) ->setPostcode($postal) ->setCity($city) ->setTelephone($telephone) ->setStreet($street) ->setIsDefaultBilling('1') ->setIsDefaultShipping('1') ->setSaveInAddressBook('1'); try { $address->save(); $address->setConfirmation(null); $address->save(); } catch (Exception $e) { } } else { echo "User does not exist"; } } if (Mage::getSingleton('customer/session')->isLoggedIn()) { $customer = Mage::getModel('customer/customer')->load(Mage::getSingleton('customer/session')->getId())->getData(); $address = Mage::getModel("customer/address"); $shipping = $address->load($customer['default_shipping'])->getData(); } ?> <form action="" method="post" name="thisForm"> <input type="hidden" name="customerId" id="customerId" value="<?= $customer['entity_id'] ?>" /> <input type="text" name="customerEmail" id="customerEmail" value="<?= $customer['email'] ?>" /> <input type="text" name="customerFirstname" id="customerFirstname" value="<?= $customer['firstname'] ?>" /> <input type="text" name="customerLastname" id="customerLastname" value="<?= $customer['lastname'] ?>" /> <input type="hidden" name="customerDefault_billing" id="customerDefault_billing" value="<?= $customer['default_billing'] ?>" /> <input type="hidden" name="customerDefault_shipping" id="customerDefault_shipping" value="<?= $customer['default_shipping'] ?>" /> <input type="hidden" name="shippingId" id="shippingId" value="<?= $shipping['entity_id'] ?>" /> <input type="hidden" name="shippingParent" id="shippingParent" value="<?= $shipping['parent_id'] ?>" /> <input type="hidden" name="shippingFirstname" id="shippingFirstname" value="<?= $shipping['firstname'] ?>" /> <input type="hidden" name="shippingLastname" id="shippingLastname" value="<?= $shipping['lastname'] ?>" /> <input type="text" name="shippingStreet" id="shippingStreet" value="<?= $shipping['street'] ?>" /> <?php $collection = Mage::getModel('directory/region')->getResourceCollection() ->addCountryFilter('IN')->load(); ?> <select class="txtbox" name="shippingRegion" id="shippingRegion"> <?php foreach ($collection as $region) { ?> <option value="<?= $region['region_id'] ?>" <?php if ($region['region_id'] == $shipping['region_id']) { ?> selected="selected" <?php } ?>><?= $region['name'] ?></option> <?php } ?> </select> <input type="text" name="shippingTelephone" id="shippingTelephone" value="<?= $shipping['telephone'] ?>" /> <input type="text" name="shippingRegion" id="shippingRegion" value="<?= $shipping['region'] ?>" /> <input type="text" name="shippingCity" id="shippingCity" value="<?= $shipping['city'] ?>" /> <input type="text" name="shippingPostcode" id="shippingPostcode" value="<?= $shipping['postcode'] ?>" /> <input type="text" name="shippingCountryId" id="shippingCountryId" value="<?= $shipping['country_id'] ?>" /> </form>