Define "work properly". On Tue, Apr 24, 2012 at 4:27 PM, Scott Taylor <[email protected]> wrote: > I am having trouble getting an email form to work properly from a > static page... > Does anyone know of how to do this? > > I have the following in my PageControler:: > > var $components = array('Email'); > function beforeFilter() { > parent::beforeFilter(); > $this->Auth->allow('display','email'); > } > > function contact(){ > > $this->layout = 'home'; > $this->set('title_for_layout', 'Home'); > $this->pageTitle = 'Contact Us'; > > } > > function email() { > if(!empty($this->data)) { > $this->Page->set($this->data); > > if($this->Page->validates()) { > if(!empty($this->data['Page']['company'])) { > $this->Email->from = $this->data['Page'] > ['company'] . ' - ' . $this->data['Page']['name'] . ' <' . $this- >>data['Page']['email'] . '>'; > } else { > $this->Email->from = $this->data['Page']['name'] . > ' <' . $this->data['Page']['email'] . '>'; > } > $this->Email->to = '[email protected]'; > $this->Email->subject = 'Website request'; > $this->Email->send($this->data['Page']['message']); > $this->Session->setFlash('Your message has been > sent.'); > // Display the success.ctp page instead of the form > again > $this->redirect(array('action'=>'contact')); > > } else { > $this->redirect(array('action'=>'contact')); > > } > } > } > > > I have the following in my contact.ctp:: > > <?php echo $this->Form->create('Page', array('action' => 'email')); ?> > <table class="contact-table"> > <tr> > <td>Name</td> > <td><?php echo $this->Form->input('Page.name', array('label' > => false, 'maxlength' => 100, 'size' => 40)); ?></td> > </tr> > <tr> > <td>Company</td> > <td><?php echo $this->Form->input('Page.company', > array('label' => false, 'maxlength' => 100, 'size' => 40)); ?></td> > </tr> > <tr> > <td>E-Mail</td> > <td><?php echo $this->Form->input('Page.email', array('label' > => false, 'maxlength' => 100, 'size' => 40)); ?></td> > </tr> > <tr> > <td style="vertical-align: top;">Your comment</td> > <td><?php echo $this->Form->input('Page.message', > array('label' => false, 'cols' => 50, 'rows' => 10)); ?></td> > </tr> > <tr> > <td colspan="2" align="center"><br><?php echo $this->Form- >>end('Send'); ?></td> > </tr> > </table> > > I created what has to be an unnecessary page model with the > following:: > class Page extends AppModel { > var $name = 'page'; > var $useTable = false; > > var $validate = array( > 'name' => array( > 'rule' => 'notEmpty', > 'message' => 'You have not entered your name.' > ), > 'email' => array( > 'rule' => 'email', > 'message' => 'You have entered an invalid e-mail address.' > ), > 'message' => array( > 'rule' => 'notEmpty', > 'message' => 'You did not enter a message.' > ) > ); > } > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > [email protected] For more options, visit this group at > http://groups.google.com/group/cake-php
-- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
