【问题标题】:send form data to admin email in codeIgniter在 codeIgniter 中将表单数据发送到管理员电子邮件
【发布时间】:2016-08-08 08:33:46
【问题描述】:

我是 codeigniter 的新手。我有一个包含流、姓名、电子邮件、联系人字段的联系表。但是我有一个问题,表单数据没有发送到管理员电子邮件。当我尝试在联系表单页面源上提交数据时会发出警报,但我已经给出了其他警报数据。 我试过下面的代码,

$('#interiorid').submit(function (e) {
        e.preventDefault();
       var interiorstream = $('#interiorstream').val();
        var interiorname = $('#interiorname').val();
         var interiormobile = $('#interiormobile').val();
        var interioremail = $('#interioremail').val();
        var mobileVarify = /[0-9]/.test(interiormobile);
        var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;

var dataString = 'interiorstream =' +  interiorstream + '&interiorname =' + interiorname + '&interiormobile =' + interiormobile + '&interioremail =' + interioremail;
 

alert(interiorstream);        
if (interiorstream == "0") {
            alert('Please select Stream');
        }
        else {
            if (interiorname.length > 2) {
                if (mobileVarify == true && interiormobile.length == 10) {
                    if (regex.test(interioremail) == true) {
                        $.ajax({
                             url: 'interior_email',
                            type: 'post',
                           data: dataString,
                            success: function (msg, status) {
  alert(status);
  alert(msg);
                                $("#interiorid")[0].reset();
                                window.location.href = "/contact/thank-you";
                            }
                        });
                    }
                    else {
                        alert('Invalid Email');
                    }
                }
                else {
                    alert('Invalid Number');
                }
            }
            else {
                alert('Please enter name');
            }
        }
    });
<!--- View ---->
<form id="interiorid">
                                <div class="form-div">
                                    <select value="" id="interiorstream" >
                                        <option value="0">Select a Stream</option>
                                        <option value="Interior Designing">Interior Designing</option>
                                        <option value="Fashion Designing">Fashion Designing</option>

                                    </select>
                                </div>
                                <div class="form-div">
                                    <input type="text" placeholder="Name" id="interiorname">
                                </div>
                                <div class="form-div">
                                    <input type="text" placeholder="Phone" id="interiormobile">
                                </div>
                                <div class="form-div">
                                    <input type="text" placeholder="Email" id="interioremail">
                                </div>
                                <div class="form-div">
                                    <input type="submit" value="submit">
                                </div>
                            </form>

<!----Controller ---->

<?php

class Home extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('url');
        $this->load->library('email');
        $this->load->helper(array('url'));
 
    }

    function index() {

        $this->load->view('templates/header');
        $this->load->view('home');
        $this->load->view('templates/footer');
        $this->load->helper('form'); 
         $this->load->view('interior/interior-intro'); 
    }

  

  
 function interior_email()
{
  if (!isset($_POST['e-mail'])){
      //redirect if no parameter e-mail
      redirect(base_url());
    }else{
        $interiorstream = $this->input->post('interiorstream');
        $interiorname = $this->input->post('interiorname');
        $interiorphone = $this->input->post('interiorphone');
        $interioremail = $this->input->post('interioremail');

        $message = 'Hello Admin, This mail received from Interior design page contact form.<br/><br/>
                Stream:' . $interiorstream . '<br/><br/>
                Name :' . $interiorname . '<br/><br/>
                Contact :' . $interiorphone . '<br><br>
		Email :' . $interioremail;
        

        $headers1 = "MIME-Version: 1.0\r\n";
        $headers1 .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers1 .= "To:";
        $headers1 .= "example.com <info@example.com>";
        $headers1 .= "\r\n";
        $headers1 .= 'From: INIFD : info@example.com' . "\r\n";
        $headers1 .= "\r\n";
        $subject = "Enquiry From example.com Web";
        $email = 'admin@example.com';
       
        if (mail($email, $subject, $message, $headers1)) {
         echo 'mail has been sent';
            } else {
                echo 'mail sending failed';
            }
 }
      }

}
?>

这样的错误弹出窗口:

所以请帮帮我。

【问题讨论】:

  • @RaxShah 但我的其他页面联系表工作
  • @RaxShah 其他形式也有Mail()函数。
  • @RaxShah 当我点击提交按钮时,它会执行一个警告框,但不包含实际数据。它会提醒错误的数据。
  • @RaxShah 但是当邮件执行时,我想重定向到你的页面。 ajax 成功函数也没有提供正确的数据。
  • @RaxShah 如何将重定向代码放入控制器

标签: javascript php jquery forms codeigniter


【解决方案1】:
  1. 如果您在本地主机上运行,​​则几乎不可能发送电子邮件。如果你真的想发送Check this post out 或尝试 PHPMailer,你可以检查一下这个

【讨论】:

  • 请提供其他解决方案
猜你喜欢
  • 1970-01-01
  • 2014-05-30
  • 2011-03-17
  • 2022-11-24
  • 2013-11-12
  • 2012-12-17
  • 2018-06-05
  • 2018-08-22
  • 1970-01-01
相关资源
最近更新 更多