0

我有同样的问题: 我需要帮助通过电子邮件发送 jQuizzy 结果 ,这个问题从未得到解决,有人有什么想法吗?我尝试了上面链接上的所有内容。

这是我的代码:

$.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);
?>
4

1 回答 1

1

这里有几个问题。

  1. $json = $_POST["ajax"];应该$jsonStr = $_POST["ajax"];
  2. $json然后是一个数组 - 你需要访问它的元素来计算分数。
  3. JSON 格式错误 -json_decode期望字段被语音标记 ( ") 以及值包围。

据我所知,没有办法通过正确的答案是什么所以你必须提前知道它们并将它们放在你的PHP脚本中以检查用户提交的答案,但我从未使用过jQuizzy,所以我猜!

于 2013-05-24T14:01:20.573 回答