PatrickJose Posted July 25, 2010 Share Posted July 25, 2010 I made a simple module that stores some information in another table on database.I have two forms, so I have two submit buttons the problem is:When I submit form_1 the form_2 will submitted too and inserting empty records in my table.In the private function _postProcess() i have:form_1 $field1 = Tools::getValue('field1'); $field2 = Tools::getValue('field2'); $field3 = Tools::getValue('field3'); Db::getInstance()->Execute(' INSERT INTO '._DB_PREFIX_.'test (col1, col2, col3) VALUES ("'.$field1.'","'.$field2.'","'.$field3.'")'); form_2 $get = Tools::getValue('get'); Db::getInstance()->Execute(' INSERT INTO '._DB_PREFIX_.'test2 (col) VALUES ("'.$get.'")'); With these will work, but if I submit only one form the another will sent empty to table.I tried to get with $_POST inside private function _postProcess() private function _postProcess() { if (isset($_POST['submitA'])) { $field1 = Tools::getValue('field1'); $field2 = Tools::getValue('field2'); $field3 = Tools::getValue('field3'); Db::getInstance()->Execute(' INSERT INTO '._DB_PREFIX_.'test (col1, col2, col3) VALUES ("'.$field1.'","'.$field2.'","'.$field3.'")'); } elseif (isset($_POST['submitB'])) { $get = Tools::getValue('get'); Db::getInstance()->Execute(' INSERT INTO '._DB_PREFIX_.'test2 (col) VALUES ("'.$get.'")'); } } In form_1 my submit button have name and id = submitAIn form_2 my submit button have name and id = submitBLooking another modules I found the function Tools::isSubmit(), i tried with the function but no success private function _postProcess() { if (Tools::isSubmit('submitA')) { $field1 = Tools::getValue('field1'); $field2 = Tools::getValue('field2'); $field3 = Tools::getValue('field3'); Db::getInstance()->Execute(' INSERT INTO '._DB_PREFIX_.'test (col1, col2, col3) VALUES ("'.$field1.'","'.$field2.'","'.$field3.'")'); } elseif (Tools::isSubmit('submitB')) { $get = Tools::getValue('get'); Db::getInstance()->Execute(' INSERT INTO '._DB_PREFIX_.'test2 (col) VALUES ("'.$get.'")'); } } Anyone have an idea?Regards Link to comment Share on other sites More sharing options...
tomerg3 Posted July 26, 2010 Share Posted July 26, 2010 It's hard to understand what is wrong without seeing the html.The two forms should be separate, and if they are, the values from only one of them will be passed to the action script each time. Link to comment Share on other sites More sharing options...
PatrickJose Posted July 26, 2010 Author Share Posted July 26, 2010 Yes, my two fords are separated... but they have the same action="'.$_SERVER['REQUEST_URI'].'".I have:form 1 <form> content <form> form 2 <form> content <form> Just now I realized that both forms don't have name or id.Because the postProcess need to know who is calling the function... I'll try to upload my hole block.Edit:Solved. I forgot to set both submit buttons on function getContent() if ((Tools::isSubmit('submitA')) OR (Tools::isSubmit('submitB'))) { $this->_postValidation(); if (!sizeof($this->_postErrors)) $this->_postProcess(); else foreach ($this->_postErrors AS $err) $this->_html .= ''. $err .''; } Now I get one problem, when I fill one of three text input and press submit it gives me an error, ok, but what I filled comes empty on text input...What's the difference between: $myx = Tools::getValue('myx'); and $myz = $_POST['myz']; Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now