public function subscribeAction() { $this->init(); $this->checkLogin(); $this->googlePlusLogin(); $form = new SubscribeForm(); $request = $this->getRequest(); if ($request->isPost()) { $subscribe = new Subscribe(); $form->setInputFilter($subscribe->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $name = $request->getPost('name'); $email = $request->getPost('email'); $Data = array(); $Data['email'] = $email; $Data['name'] = $name; $Data['created_on'] = date("Y-m-d"); $Data['active'] = 1; //$adapter = $this->tableGateway->getAdapter(); $dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'); $validator = new \Zend\Validator\Db\NoRecordExists(array('table' => 'subscriber_signup', 'field' => 'email', 'adapter' => $dbAdapter)); if ($validator->isValid($email)) { // email address appears to be valid $sql = new Sql($dbAdapter); $insert = $sql->insert('subscriber_signup'); $insert->values($Data); $statement = $sql->prepareStatementForSqlObject($insert); $results = $statement->execute(); $return_id = $dbAdapter->getDriver()->getLastGeneratedValue(); if ($return_id) { $this->flashMessenger()->addMessage('Your subscription has been created !'); } return $this->redirect()->toRoute('index', array('action' => 'subscribe')); } else { //$this->flashMessenger()->addMessage('A record matching the input was found!'); $this->layout()->setVariable('message', $validator->getMessages()); // email address is invalid; print the reasons //foreach ($validator->getMessages() as $message) { //echo "$message\n"; //} } } } return new ViewModel(array('form' => $form, 'flashMessages' => $this->flashmessenger()->getMessages())); }