我很困惑,试图获取一个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);
?>
任何人都可以指出我的错误吗?
谢谢你的时间!
答案 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