【问题标题】:Advanced Json object handling in PHPPHP 中的高级 Json 对象处理
【发布时间】:2017-07-07 17:07:23
【问题描述】:

我正在尝试将一些 Json 数据发送到我的服务器端 PHP 代码,但我收到一条错误消息:

注意:试图获取非对象的属性 C:\xampp\htdocs\registration.php 在 xy 行。

这是我的 Json 对象。我要处理的:

   registrationInputData:{"page1":{"regfnev":"John","reglnev":"Kerry","regemail":"john.kerry@gmail.com","regpassword":"Qwerty01"},"page2":{"regtelepules":"Budapest","regirsz":"1123","regutca":"","reghazszam":"","regemelet":"","regajto":"","regtelszam":""},"page3":{"regprofilimage":"dogProfileImage","regfeltetel":true}}

这是我的 PHP:

<?php
session_start();
$conn = mysqli_connect("localhost", "root", "", "getpet");
mysqli_set_charset($conn, "utf8");
$result = false;

if(isset($_POST['registrationInputData'])){
$registrationInputData = json_encode($_POST['registrationInputData']);

///page1
$fname = $registrationInputData->page1->regfnev;
$lname = $registrationInputData->page1->reglnev;
$email = $registrationInputData->page1->regemail;
$password = md5($registrationInputData->page1->regpassword);

$emailquery = "SELECT email FROM users WHERE email = '".$email."'";
$emailsql = mysqli_query($conn, $emailquery);
if(mysqli_num_rows($emailsql) == "0"){

    ///page2
    $settlement = $registrationInputData->page2->regtelepules;
    $postcode = $registrationInputData->page2->regirsz;
    $street = $registrationInputData->page2->regutca;
    $streetnumber = $registrationInputData->page2->regutca;
    $floor = $registrationInputData->page2->regemelet;
    $door = $registrationInputData->page2->regajto;
    $phone = $registrationInputData->page2->regtelszam;

    ///page3
    $profilimage = $registrationInputData->page3->regprofilimage;
    $conditionaccepted = $registrationInputData->page3->regfeltetel;

    $registrationquery =
    "INSERT INTO users (fname, lname, email, password, settlement, postcode, street, streetnumber, floor, door, phone, profilimage, conditionaccepted)
     VALUES ('".$fname."', '".$lname."', '".$email."', '".$password."', '".$settlement."', '".$postcode."', '".$street."', '".$streetnumber."', '".$floor."', '".$door."', '".$phone."', '".$profilimage."', '".$conditionaccepted."' )";
     $result = true;
}
}
echo $result;

?>

感谢您的回答!

【问题讨论】:

  • json_encode 编码 json。 json_decode 解码.
  • 哎呀。你是对的
  • 问题已解决,谢谢

标签: php json object decode encode


【解决方案1】:

如果你收到的是 json 字符串,你需要使用 json_decode 函数。然后你就可以访问对象元素了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2015-12-23
    • 2015-06-02
    • 2019-03-18
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多