使用jquery / ajax&amp ;;通过电子邮件发送多个变量PHP

时间:2014-07-07 14:36:31

标签: php jquery ajax

我很困惑,试图获取一个jquery / ajax表单来发布数据并通过电子邮件发送给php。

这是JQuery:

$( "#sendbut3" ).click(function() {
var ntext = $( "#smallfield3" ).val();
var ptext = $( "#smallfield2" ).val();
var q1text = $( "#smallfield1" ).val();
$.ajax({
    url: '/send.php',
    type: 'post', 
    data: {ntext: ntext, ptext: ptext, q1text: q1text},
});
return false;
});

这是PHP:

<?php

$email_to = "myemailaddress@gmail.com";
$email_from = "website@domain.com";
$email_message = $_POST["ntext", "ptext", "q1text"];
$email_subject = "query from web form";
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();

@mail($email_to, $email_subject, $email_message, $headers);  
?>

任何人都可以指出我的错误吗?

谢谢你的时间!

1 个答案:

答案 0 :(得分:3)

基本PHP数组:您需要学习它们:

$email_message = $_POST["ntext", "ptext", "q1text"];

完全无效。你不能使用那样的多个键。

$ntext = $_POST['ntext'];
$ptext = $_POST['ptext'];
$qltext = $_POST['qltext'];
假设你的JS代码实际上产生了像这样的键值对,那么

会更容易被接受。

你所拥有的是一个完全无法解决的语法错误,并且无法正常工作:

php > $foo = array('a' => 'b', 'c' => 'd');
php > echo $foo['a', 'b'];
PHP Parse error:  syntax error, unexpected ',', expecting ']' in php shell code on line 1