无法从$ NAME获取名称

时间:2015-08-27 20:03:43

标签: php forms post

我有一个包含两个变量$name$email的订阅表单。 我只从表单中获得$email。我无法获得$name。 我已经尝试了所有我知道修复它,表单完全正常工作,它将代码发送到电子邮件并写入文件,只是不给我名字! 感谢。

这是PHP代码:

<?php
header('content-type: application/json');
$o = new stdClass();
$o->status = 'success';
echo json_encode($o);
$Length = 9;
$RandomString = substr(str_shuffle(md5(time())), 0, $Length);
$email = $_POST["email"];
$name = $_POST["author"];
$emailTo = 'info@praia.co.il';
$subject = 'הרשמה לרכישה קבוצתית פראיה ';
$body = "\n\nשם הלקוח: $name \n\nאימייל: $email \n\nקוד קופון: $RandomString";
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($emailTo, $subject, $body, $headers, $randomString);

$headers2 = "From: Praia <info@praia.co.il>" . "\r\n".
'Reply-To: '.$emailTo."\r\n" .
'Content-Type: text/html; charset=ISO-8859-1\r\n'.
'Return-Path: Praia <info@praia.co.il>\r\n'.
'X-Mailer: PHP/' . phpversion();
$message = '<html><body><center><div style="background:#f0f0f0; font-family:"almoni-tzar";>';
$message .= '<img src="http://praia.co.il/assets/img/logo.png" alt="logo" style="width:150px; height:150px;"></a><br />';
$message .= '<br />';
$message .= " שלום $name, אנו שמחים שהצטרפת לרכישה הקבוצתית של פראיה.</p>";
$message .= '<br>';
$message .= "$RandomString :קוד ההרשמה שלך לרכישה הוא ";
$message .= '<br />';
$message .= "קוד ההרשמה הינו חד פעמי*";
$message .= '<br />';
$message .= '<br />';
$message .= '<br />';
$message .= '<br />';
$message .= '<a href="www.praia.co.il"> מעבר לאתר</a> &nbsp; <a href="www.praia.co.il/regulations.html">מעבר לתקנון</a>';
$message .= '</div></center></body></html>';

 $mailed = true;
 if($mailed==true){ 
 mail($email, "פראיה- הרשמה לרכישה קבוצתית.", $message , $headers2);
 }else{
 echo 'error';  
 }
 if($mailed==true){ 
 //file_put_contents("coupon.txt", $email. . $RandomString .  PHP_EOL, FILE_APPEND);
 file_put_contents("coupon.txt", $email . "  " . $RandomString . "\r\n"  , FILE_APPEND | LOCK_EX);
    }else{
       echo 'error';  
    }
?>

JS代码:

/*
 notifyMe jQuery Plugin v1.0.0
 Copyright (c)2014 Sergey Serafimovich
 Licensed under The MIT License.
*/
(function(e) {
    e.fn.notifyMe = function(t) {
        var r = e(this);
        var i = e(this).find("input[name=email]");
        var s = e(this).attr("action");
        var o = e(this).find(".note");
        e(this).on("submit", function(t) {
            t.preventDefault();
            var h = i.val();
            var p = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
            if (p.test(h)) {
                $(".message").removeClass("error bad-email success-full");
                $(".message").hide().html('').fadeIn();
                o.show();
                e.ajax({
                    type: "POST",
                    url: s,
                    data: {
                        email: h
                    },
                    dataType: "json",
                    error: function(e) {
                        o.hide();
                        if (e.status == 404) {
                            $(".message").hide().html('<p class="notify-valid style="font-family:almoni-tzar;"> .אופס, נראה שמשהו השתבש! נסה מאוחר יותר <i class="icon ion-close-round"></i></p>').slideDown();
                        } else {
                            $(".message").hide().html('<p class="notify-valid style="font-family:almoni-tzar;"> .אופס, נראה שמשהו השתבש! נסה מאוחר יותר <i class="icon ion-close-round"></i></p>').fadeIn();
                        }
                    }
                }).done(function(e) {
                    o.hide();
                    if (e.status == "success") {
                        $(".message").removeClass("bad-email").addClass("success-full");
                        $(".message").hide().html('<p class="notify-valid" style="font-family:almoni-tzar;"> .נרשמת בהצלחה לרכישה הקבוצתית תעודכן בהמשך <i class="icon ion-checkmark-round"></i></p>').fadeIn();
                    } else {
                        if (e.type == "ValidationError") {
                            $(".message").hide().html('<p class="notify-valid style="font-family:almoni-tzar;"> .כתובת המייל נראית לא חוקית, נא הזן כתובת חדשה <i class="icon ion-close-round"></i></p>').fadeIn();
                        } else {
                            $(".message").hide().html('<p class="notify-valid style="font-family:almoni-tzar;"> .אופס, נראה שמשהו השתבש! נסה מאוחר יותר <i class="icon ion-close-round"></i></p>').fadeIn();
                        }
                    }
                })
            } else {
                $(".message").addClass("bad-email").removeClass("success-full");
                $(".message").hide().html('<p class="notify-valid" style="font-family:almoni-tzar;"> .כתובת המייל אינה חוקית נא נסה שנית <i class="icon ion-close-round"></i></p>').fadeIn();
                o.hide();
            }

            // Reset and hide all messages on .keyup()
            $("#notifyMe input").keyup(function() {
                $(".message").fadeOut();
            });
        })
    }



})(jQuery)

1 个答案:

答案 0 :(得分:0)

您的ajax电话只发送邮件。你应该改变

var i = e(this).find("input[name=email]");
...
data: {
  email: h
},

对于以下内容:

var i = e(this).find("input[name=email]");
var authorValue = e(this).find("input[name=author]");
...
data: {
  email: h,
  author: authorValue
},

上方添加列表时添加