/ कार्रवाई की पुष्टि करने के लिए एक कार्रवाई (साइनअप) से आगे बढ़ना (डेटा जमा करना) और सफलता पृष्ठ Zend फ्रेमवर्क - zend- फ्रेमवर्क, zend-फ्रेमवर्क-एमवीसी

कार्रवाई की पुष्टि करने के लिए एक कार्रवाई (साइनअप) से आगे बढ़ें (डेटा सबमिट किया गया डेटा दिखाएं) और सफलता पृष्ठ ज़ेंड फ्रेमवर्क - ज़ेंड-फ्रेमवर्क, ज़ेंड-फ्रेमवर्क-एमवीसी

मैं Zend के लिए एक नौसिखिया हूं और एक सरल साइनअप फॉर्म बना रहा हूं लेकिन जिसमें कई क्षेत्र हैं। इसलिए मैं उपयोगकर्ता साइनअप क्रिया के बाद एक पुष्टिकरण पृष्ठ बनाना चाहता हूं।

मेरा प्रवाह कैसा है: साइनअप -> पुष्टि -> सफलता / त्रुटि

एक अलग पुष्टिकरण प्रपत्र पृष्ठ होने का मेरा मुख्य कारण यह है कि डेटा फ़ील्ड बहुत सारे हैं ताकि उपयोगकर्ता को यह सुनिश्चित करना पड़े कि वे सभी सही ढंग से भरे हुए हैं।

फॉर्मअप और कन्फर्मेशन (फील्ड डिसेबल के साथ) का उपयोग करके, मैं यह जानना चाहता हूं कि क्या फॉर्म की पुष्टि करने के लिए साइनअप फॉर्म से डेटा पास करने का कोई तरीका है?

कृपया किसी भी उपयोगी विचारों और सुझावों का स्वागत किया ;)

public function signupAction()
{
$users = new Application_Model_Users();
$form = new Application_Form_RegistrationForm();
$this->view->form=$form;
if($this->getRequest()->isPost()){
if($form->isValid($_POST)){
$data = $form->getValues();


//some checks before sending data to confirm page
//not sure how the data can be passed to the confirm page from here
$this->_redirect("auth/confirmsignup");
}
}
}


public function confirmsignupAction()
{
$users = new Application_Model_Users();
$form = new Application_Form_ConfirmRegistrationForm();
$this->view->form=$form;
if($this->getRequest()->isPost()){
if($form->isValid($_POST)){
$data = $form->getValues();
//some checks before
unset($data["confirmPassword"]);
$users->insert($data);
$this->_redirect("auth/login");
}
}
}

उत्तर:

जवाब के लिए 2 № 1

जब तक आप पुनर्निर्देशित नहीं करेंगे, तब तक आप POST डेटा खो देंगे:

  1. आप इसे साइनअप सत्र में संग्रहीत करते हैं और फिर पुष्टिकरण पाठ में पढ़ते हैं
  2. आप बिल्कुल भी पुनर्निर्देशित नहीं करते हैं। इसके बजाय, अपने फॉर्म में विशेष डेटा के अस्तित्व के लिए पहले चेक जमा करने के बाद, यह सत्र आईडी आदि के हैश की तरह एक यादृच्छिक टोकन हो सकता है, लेकिन आसानी से "पुष्टि = 1" जैसे अनुमान लगाने योग्य नहीं है। यदि टोकन मौजूद नहीं है, तो अपने फ़ॉर्म में इस टोकन के साथ एक छिपा हुआ फ़ील्ड जोड़ें और इसे उपयोगकर्ता को फिर से उसी क्रिया में दिखाएं, जिसमें डेटा भरा हो - यह पुष्टिकरण चरण होगा। यदि आपके पास साइनअप में फिर से एक पोस्ट है, तो आपको टोकन प्राप्त होगा और यह मौजूद होने की जाँच करके, आपको पता चल जाएगा कि यह पुष्टि के साथ दूसरा सबमिट है और आप साइनअप के साथ आगे बढ़ सकते हैं। मुझे आशा है कि मैंने इस पर काबू नहीं पाया।