jQuizzy电子邮件是空白的

时间:2013-05-24 13:47:47

标签: php javascript jquery ajax

我有同样的问题: 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);
?>

1 个答案:

答案 0 :(得分:1)

这里有一些问题。

  1. $json = $_POST["ajax"];应为$jsonStr = $_POST["ajax"];
  2. $json是一个数组 - 你需要访问它的元素来计算得分。
  3. JSON格式错误 - json_decode期望字段被语音标记(")以及值包围。
  4. 从我所看到的,没有办法通过正确的答案是什么,所以你必须提前知道它们并将它们放在你的PHP脚本中以检查用户提交的那些,但我从来没有使用jQuizzy,所以我猜!