Codeigniter联系表单提交返回超时

时间:2016-07-15 19:15:56

标签: php forms codeigniter web

您好我想知道是否有人可以让我深入了解为什么我的Codeigniter联系表格会提交时间?

我知道这是一个初学者错误,但我觉得这是我完全忽视的事情。我提供了控制器和视图。

我在Config文件中也设置了email.php,并加载了各种帮助程序和库。提前谢谢!

控制器

<?php
class contactform extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form','url'));
        $this->load->library(array('session', 'form_validation', 'email'));
    }

    function index()
    {
        //set validation rules
        $this->form_validation->set_rules('name', 'Name', 'trim|required|xss_clean|callback_alpha_space_only');
        $this->form_validation->set_rules('email', 'Emaid ID', 'trim|required|valid_email');
        $this->form_validation->set_rules('subject', 'Subject', 'trim|required|xss_clean');
        $this->form_validation->set_rules('message', 'Message', 'trim|required|xss_clean');

        //run validation on form input
        if ($this->form_validation->run() == FALSE) {
            //validation fails
            $this->load->view('contact_form_view');
        } else {
            //get the form data
            $name       = $this->input->post('name');
            $from_email = $this->input->post('email');
            $subject    = $this->input->post('subject');
            $message    = $this->input->post('message');

            //set to_email id to receive emails
            $to_email = 'littleliongirldesigns@gmail.com';

            //configure email settings
            $config['protocol']  = 'smtp';
            $config['smtp_host'] = 'ssl://smtp.gmail.com';
            $config['smtp_port'] = '465';
            $config['smtp_user'] = 'email';
            $config['smtp_pass'] = 'password';
            $config['mailtype']  = 'html';
            $config['charset']   = 'iso-8859-1';
            $config['wordwrap']  = TRUE;
            $config['newline']   = "\r\n"; //use double quotes
            $this->load->library('email', $config);
            $this->email->initialize($config);                        

            //send mail
            $this->email->from($from_email, $name);
            $this->email->to($to_email);
            $this->email->subject($subject);
            $this->email->message($message);

            if ($this->email->send()) {
                // mail sent
                $this->session->set_flashdata('msg','<div class="alert alert-success text-center">Your mail has been sent successfully!</div>');
                redirect('contactform/index');
            } else {
                //error
                $this->session->set_flashdata('msg','<div class="alert alert-danger text-center">There is error in sending mail! Please try again later</div>');
                redirect('contactform/index');
            }
        }
    }

    //custom validation function to accept only alphabets and space input
    function alpha_space_only($str)
    {
        if (!preg_match("/^[a-zA-Z ]+$/",$str)) {
            $this->form_validation->set_message('alpha_space_only', 'The %s field must contain only alphabets and space');
            return FALSE;
        } else {
            return TRUE;
        }
    }
}
?>

视图

    <div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3 well">
            <?php $attributes = array("class" => "form-horizontal", "name" => "contactform");
            echo form_open("contactform/index", $attributes);?>
            <fieldset>
            <legend>Contact Form</legend>
            <div class="form-group">
                <div class="col-md-12">
                    <label for="name" class="control-label">Name</label>
                </div>
                <div class="col-md-12">
                    <input class="form-control" name"name" placeholder="Your Name" type="text" value="<?php echo set_value('name'); ?>"/>
                    <span class="text-danger"><?php echo form_error('name'); ?></span>
                </div>
                </div>
            <div class="form-group">
                <div class="col-md-12">
                <label for="email" class="control-label">Email ID</label>
                </div>
                <div class="col-md-12">
                <input class="form-control" name="email" placeholder="Your email" type="text" value="<?php echo set_value('email'); ?>" />
                    <span class="text-danger"><?php echo form_error('email');?></span>
                </div>        
                </div>
            <div class="form-group">
                <div class="col-md-12">
                    <label for="subject" class="control-label">Subject</label>
                    </div>
                <div class="col-md-12">
                    <input class="form-control" name="subject" placeholder="Subject" type="text" value="<?php echo set_value('subject'); ?>"/>
                    <span class="text-danger"><?php echo form_error('subject');?></span>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-md-12">
                    <label for="message" class="control-label">Message</label>
                    </div>
                    <div class="col-md-12">
                    <textarea class="form-control" name="message" rows="4" placeholder="Your Message"><?php echo set_value('message');?></textarea>
                    <span class="text-danger"><?php echo form_error('message'); ?></span>
                    </div>            
                </div>

                <div class="form-group">
                    <div class="col-md-12">
                    <input name="submit" type="submit" class="btn btn-primary"  value="Send" />
                    </div>
                </div>
            </fieldset>
            <?php echo form_close(); ?>
            <?php echo $this->session->flashdata('msg'); ?>
            </div>
        </div>
    </div>

0 个答案:

没有答案