CE1.9.1 कृपया सुनिश्चित करें कि उपयोगकर्ता पंजीकरण के दौरान अपना पासवर्ड मिलान जारी करें


23

मैं CE1.9.1 में इस मुद्दे का सामना कर रहा हूं।

जब एक उपयोगकर्ता रजिस्टर करता है (अगर यह चेकआउट के दौरान या खाता बनाएं लिंक से कोई फर्क नहीं पड़ता) तो उपयोगकर्ता को पासवर्ड फिर से सही तरीके से दर्ज किए जाने पर भी पासवर्ड बेमेल त्रुटि मिलती रहती है।

फ़ॉर्म सत्यापन मिस-मैच का संकेत नहीं देता है, लेकिन उपयोगकर्ता द्वारा रजिस्टर पर क्लिक करने के बाद यह बेमेल त्रुटि देता है।

क्रोम कंसोल में कोई त्रुटि नहीं है ...

मुझे यह मिला: "कृपया सुनिश्चित करें कि आपका पासवर्ड मेल खाता है" - नया पंजीकरण फॉर्म के साथ चेकआउट में पासवर्ड त्रुटि

लेकिन मैं नहीं मानता कि यह एक ही त्रुटि है।

मुझे इसे जल्द ही ठीक करने की आवश्यकता है, किसी भी मदद की बहुत सराहना की जाती है!


यह चेकआउट कार्ट में त्रुटि को ठीक करता है, लेकिन काम करने के लिए "मेरा खाता" अनुभाग प्राप्त करने के लिए मुझे कंपाइलर को निष्क्रिय करना पड़ा (व्यवस्थापक | सिस्टम | उपकरण | संकलन)। (फिर से संकलित करने के साथ ही काम करेगा)
वायर्डॉग

जवाबों:


24

कक्षा के बच्चों को इसके बजाय Mage_Customer_Model_Customerउपयोग करना चाहिएgetPasswordConfirmation()getConfirmation()

अद्यतन: कक्षा में Mage_Customer_Model_Customer, विधि validate()को बदल दिया गया था

V1.9.1 से पहले:

$confirmation = $this->getConfirmation();

बाद:

$confirmation = $this->getPasswordConfirmation();



यह भी ध्यान दें कि आपको किसी भी नियंत्रक की जांच करनी चाहिए, न कि केवल उन मॉडलों को जो इस वर्ग का विस्तार करते हैं!
बेंजिइ

2
दिमाग चकराता है कि एक ईकॉमर्स स्टोर को खरीदने की अनुमति देने के लिए कुछ कितना महत्वपूर्ण है, क्यूए के माध्यम से और आधिकारिक रिलीज में इसे खरीद सकते हैं।
मिकेमाइक

1
इसके अलावा कुछ एक्सटेंशन में setConfirmation () को setPasswordConfirmation () में बदलने की आवश्यकता है। यह मेरे मामले में FireCheckout था। कक्षा: TM_FireCheckout_Model_Type_Standard, विधि: _validateCustomerData ()।
gSorry

5

अंत में, मैं इस मुद्दे को हल करने में सक्षम था।

मुझे यह उल्लेख करना है कि यह वास्तव में अच्छा नहीं है कि मैगेंटो कोर फाइलों में इस तरह के मुद्दे हैं जब वे पासवर्ड को सुरक्षित करते हैं, तो लगता है कि कोर डेवलपर्स ने कुछ सरल चीजों को भूल गए।

ठीक है, तो इस समस्या को आप स्थानीय की तरह में मुख्य ग्राहक मॉडल ओवरराइड करने के लिए है ठीक करने के लिए app/code/local/Mage/Customer/Model/Customer.php। इसमें लगभग लाइन नं। 843 (यदि आपने पहले से ओवरराइड नहीं किया है) या लाइन पर जाएं if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(6))) { $errors[] = Mage::helper('customer')->__('The minimum password length is %s', 6); }और उस ब्लॉक के नीचे निम्न कोड जोड़ें:

//To match passwords in both Create account and Checkout register pages start
    if ( Mage::app()->getRequest()->getServer('HTTP_REFERER') == Mage::getUrl('customer/account/create') )
      $confirmation = $this->getPasswordConfirmation();
    else
      $confirmation = $this->getConfirmation();
    //To match passwords in both Create account and Checkout register pages end

इसके बाद पासवर्ड और कंफर्म पासवर्ड दोनों "चेकआउट" और "अकाउंट बनाएं" पेजों पर मेल खाएगा।

आशा है कि यह किसी की मदद कर सकता है।


3

यदि कोई अभी भी पता नहीं लगा सकता है, तो ऐसा क्यों हो रहा है: Conlabz Useroptin एक्सटेंशन ( http://www.magentocommerce.com/magento-connect/newsletter-double-opt-in-for-customers.html ) इसका कारण बन सकता है व्यवहार अस्वस्थ।

अद्यतन 1.1.0 कहा गया एक्सटेंशन 1.9 संगतता जोड़ता है


3

मेरे पास एक एक्सटेंशन है जो AccountController.php को ओवरराइड कर रहा था और 1.9.1 से नीचे के Magento प्लेटफार्मों के लिए एक ही मुद्दा था।

मेरा समाधान था;

if (version_compare(Mage::getVersion(), '1.9.1', '<=')) {        
$customer->setPasswordConfirmation($request->getPost('confirmation'));
}

if (version_compare(Mage::getVersion(), '1.9.0', '>=')) {
$customer->setConfirmation($request->getPost('confirmation'));
}

2

मेरे लिए न तो काम किया $this->getPasswordConfirmation()और न ही $this->getConfirmation()काम किया। दोनों ने एक खाली स्ट्रिंग लौटा दी। इसलिए मैं सीधे POST पैरामीटर तक पहुँचने में समाप्त हो गया, /app/code/core/Mage/Customer/Model/Customer.php(हाँ, बेहतर प्रतिलिपि का उपयोग करें /app/code/local):

if (isset($_REQUEST['confirmation']))
    $confirmation = $_REQUEST['confirmation'];
else
    $confirmation = $this->getPasswordConfirmation();

1
हा हा गुड क्रैक :)
कीयूर शाह

0

यह 1.9.1 अपडेट में इस बदलाव के कारण है। आपको अपने एक्सटेंशन कोड को अपडेट करना होगा -कस्टमर पासवर्ड अब पंजीकरण के दौरान स्पष्ट पाठ में संग्रहीत नहीं किए जाते हैं।


मैं देखता हूं, मैं विस्तार कोड की जांच करूंगा। धन्यवाद!
बिल

0

मेरे पास एक ही मुद्दा है क्योंकि मैं चेकआउट के लिए तीसरे पक्ष के विस्तार का उपयोग कर रहा हूं इसलिए इस मुद्दे को आना होगा

मैंने निम्न चरणों को करके उस त्रुटि को हल किया है

1) मेरे मॉड्यूल में मैं खोज करता हूं confirmation

2) जांचें कि यह customerमॉडल के लिए डेटा सेट कर रहा है

3) फिर password_confirmationसे कुंजी बदलेंconfirmation

मैं इस मुद्दे पर बहस करने और इसे हल करने के लिए उपरोक्त चरणों का पालन करता हूं।


0

मेरा समाधान था

$confirmation = $this->getPasswordConfirmation(); // test works for Create, fails for Checkout
    if ($password != $confirmation) {
        $confirmation = $this->getConfirmation(); // test works for Checkout fails for Create
        if ($password != $confirmation) {
            $errors[] = Mage::helper('customer')->__('Please make sure your passwords match.');
        }
    }

-3

हाय फ्रेंड्स इस समस्या का समाधान नीचे दिए गए चरणों को करके किया जा सकता है:

चरण 1: इस फ़ाइल को खोलें /app/code/core/Mage/Customer/Model/Customer.php
चरण 2: Customer.php $confirmation = $this->getPasswordConfirmation(); चरण 3 में इस पंक्ति को खोजें : उस पंक्ति को उस के साथ बदलें $confirmation = $this->getConfirmation();

आपकी समस्या अब हल हो गई है।


3
जब तक यह वास्तव में एक कोर बग नहीं है, मैं कोर फ़ाइलों को बदलने की सिफारिश नहीं करूंगा।
एंड्रयू केट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.