你如何将JSON字符串从Corona SDK应用程序发送到PHP服务器?

我正在使用Corona SDK开发一个应用程序。我正在尝试将信息“发布”到我的SQL服务器,但传递了空值。我知道应用程序端的变量包含一个JSON字符串形式的值。我也知道php可以将信息输入数据库。我不确定的是如何让php解码json字符串,以便信息可以发送到数据库。我相当确定我在php端缺少代码,但我找不到使用Corona SDK到PHP的示例以找出原因。我将在下面放置Lua和PHP的代码。任何帮助都将非常有用。


Lua CODE

local json = require "json"

print(“测试”)

sendInfo = {["asked"] = 5, ["correct"] = 3, ["wrong"] = 2}

print(sendInfo)

local function networkListener(event)
    if(event.isError)then
        print(“网络错误!”)
    else
        print(“RESPONSE:”..event.response)
    end
end

local headers = {
    [“Content-Tpe”] = “application/x-www-form-urlencoded”,
    [“Accept-Language”] = “en-US”,
}

local params = {}
params.headers = headers
params.body = json.encode(sendInfo)

print(“params.body:”..params.body)

network.request(httpAddr,“POST”,networkListener,params)

PHP CODE

$data = array( 'asked' => $_POST['asked'], 'correct' => $_POST['correct'], 'wrong' =>         $_POST['wrong']);
$jsondata = json_encode($data);
echo$jsondata;

$json = json_decode($sendInfo, true);
var_dump($json);

echo  "<br />" . $json["asked"];
$a = $json["asked"];
$c = $json["correct"];
$w = $json["wrong"];
$d = date("Y-m-d");
$t = date("H:i:s");

echo  "<br />Total Questions Asked: " . $a;
echo  "<br />Total Questions Correct: " . $c;
echo  "<br />Total Questions Wrong: " . $w;
echo  "<br />Today's Date is : " . $d . " and the time is: " . $t . "<br />";
try
{
    $pdo = new
    PDO('mysql:host=;dbname=test',$username,$password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->exec('SET NAMES "utf8"');

    }
catch (PDOException $e)
{
    $output = 'Unable to connect to the database server.' . $e->getMessage();
    include 'output.html.php';
}

echo 'Successful Connection to Server';

$pdo->exec("INSERT INTO results (date, time, asked, correct, wrong) VALUES ('$d', '$t', '$a', '$c', '$w')");

?>
点赞
用户6312494
用户6312494

如果您要发送 JSON,请将内容类型更改为["Content-Type"] =" application / json "

2016-05-10 01:44:11