【问题标题】:angularJs and PHP send email formangularJs 和 PHP 发送电子邮件表单
【发布时间】:2020-11-28 00:32:29
【问题描述】:

我想发送一封带有表单参数的电子邮件,使用 AngularJs 和 PHP,电子邮件正在发送,但参数(名称、电子邮件等)为空。错误在哪里? 我对 AngularJS 很陌生,并试图建立一个联系表格。我做了一些研究来验证角度,这很好用。但是将输入发送到我的电子邮件帐户仍然是一个谜。

HMTl 代码:

<form id="myform" name="myForm" data-abide role="form" ng-submit="processForm()">
            <div class="formData.name">
                <label>Your name <small>required</small>
                    <input type="text" name="formData.name" id="formData.name" required pattern="[a-zA-Z]+" ng-model="formData.name">
                </label>
                <small class="error">Name is required.</small>
            </div>

            <div class="formData.name">
                <label>Your subject <small>required</small>
                    <input type="text" name="formData.subject" id="formData.subject" required pattern="[a-zA-Z]+" ng-model="formData.subject">
                </label>
                <small class="error">subject is required.</small>
            </div>

            <div class="formData.inputEmail-field">
                <label>Email <small>required</small>
                    <input type="email" name="formData.email" id="formData.email" required ng-model="formData.email">
                </label>
                <small class="error">An email address is required.</small>
            </div>

            <div class="formData.tel">
                <label>Phone #
                    <input type="text" name="formData.tel" id="formData.tel"required pattern="^([0-9]( |-)?)?(\(?[0-9]{3}\)?|[0-9]{3})( |-)?([0-9]{3}( |-)?[0-9]{4}|[a-zA-Z0-9]{7})$" ng-model="formData.tel">
                </label>
                <small class="error">Please enter your number in the format '123-456-7890'.</small>
            </div>
            <div class="formData.message">
                <label>Message
                    <textarea name="formData.message" id="formData.message" ng-model="formData.message"></textarea> </label></div>
                    <button type="submit" class="columns small-centered">Submit</button>
                    <div class="panel">
                        <p>{{formData}}</p>
                        <p>{{codeStatus}}</p>
                    </div>
                </form>

我的控制器中的代码:

$scope.processForm = function() {
      $http({
        method  : 'POST',
        url     : 'process.php',
        data    : $.param($scope.formData), 
        headers : { 'Content-Type': 'application/x-www-form-urlencoded' },
      }).success(function(formData) {
        console.log(formData);
        if (formData.success) {
          console.log('Success');
        } else {

          console.log('Fail');
        }
      });
    };

PHP 代码:

<?php

$postdata = file_get_contents("php://input");
if(!isset($postdata)) {
    $response = array('status' => 'error', 'value'=>'Eroare de server - 0.');
    die(json_encode($response));
}
$request = json_decode($postdata);

$name = htmlspecialchars($request->name);
$tel = htmlspecialchars($request->tel);
$email = htmlspecialchars($request->email);
$subject = htmlspecialchars($request->subject);
$mess = htmlspecialchars($request->message);

$to = "cristina@yahoo.com";
$subject = $subject;

$message = "The user: $name contacted you using the contact form. His details are:\r\nPhone: $tel\r\nEmail: $email\r\nMessage: $mess";

$headers = "From: <".$email.">". "\r\n";
$headers .= "Reply-To: <".$email.">". "\r\n";
$headers .= 'MIME-Version: 1.0'. "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8'. "\r\n";
if(mail($to, $subject, $message, $headers)) {
    $response = array('status' => 'success', 'value'=>'Mail trimis');
    echo json_encode($response);
} else {
    $response = array('status' => 'error', 'value'=>'Mail netrimis');
    die(json_encode($response));
}
?>

【问题讨论】:

    标签: php angularjs forms email


    【解决方案1】:

    您看过 FormGroups 吗?它们在这种情况下非常有用,并且非常易于使用。 看看here

    编辑:这是 Angular 的一种可行方法,而不是 AngularJs,抱歉造成误解。

    【讨论】:

    • 我使用 AngularJs
    • 哦,是的,我没有意识到,对不起:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多