我有同样的问题: I need help sending jQuizzy results Via email 它从来没有在这个问题上得到解决,任何人都有任何想法?我在上面的链接上尝试了所有内容。
这是我的代码:
$.ajax({
type: 'POST',
dataType: 'text/json',
url: config.sendResultsURL,
data: '[' + collate.join(",") + ']',
complete: function () {console.log("OH HAI");}
});
$name = $_POST['name'];
$to = "email@gmail.com";
$subject = "Quiz Score";
$header = "Content-Type: text/html\r\nReply-To: $to\r\nFrom: $name <$email>";
$jsonStr = $_POST["ajax"];
$json = json_decode($jsonStr);
$body = "$name scored: $json";
mail($to, $subject, $body, $header);
这是发送到php文件的数据:
[{questionNumber:"1", UserAnswer:"1"},{questionNumber:"2", UserAnswer:"1"},{questionNumber:"3", UserAnswer:"1"},{questionNumber:"4", UserAnswer:"1"}]:
更新:按照回答的说明,有人要求查看我更新的send.php文件:
<?php
$name = $_POST['name'];
$to = "email@gmail.com";
$subject = "Quiz Score";
$header = "Content-Type: text/html\r\nReply-To: $to\r\nFrom: $name <$email>";
$jsonStr = $_POST["ajax"];
$json = json_decode($jsonStr);
$body = "$name scored: ".var_dump($json)."";
mail($to, $subject, $body, $header);
?>
答案 0 :(得分:1)
这里有一些问题。
$json = $_POST["ajax"];
应为$jsonStr = $_POST["ajax"];
$json
是一个数组 - 你需要访问它的元素来计算得分。json_decode
期望字段被语音标记("
)以及值包围。从我所看到的,没有办法通过正确的答案是什么,所以你必须提前知道它们并将它们放在你的PHP脚本中以检查用户提交的那些,但我从来没有使用jQuizzy,所以我猜!