Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 试图获得财产';(……)和#x27;非对象_Php_Database_Class_Vue.js_Websocket - Fatal编程技术网

Php 试图获得财产';(……)和#x27;非对象

Php 试图获得财产';(……)和#x27;非对象,php,database,class,vue.js,websocket,Php,Database,Class,Vue.js,Websocket,我正在用Vue js开发Scrumpoker 我有一个用户、会话的模型,这些模型存储在我的数据库中,具有sessionID、nameID、userID等属性 我试图让一个用户加入一个不是他创建的房间 如果我尝试这样做,我会在web dev面板上看到一条错误消息,上面说: POST http://127.0.0.1:8090/xdd/src/api/user/create.php 400 (Bad Request) vue-resource.esm.js?f3ef:1082 当我加载本地路径ur

我正在用Vue js开发Scrumpoker

我有一个用户、会话的模型,这些模型存储在我的数据库中,具有sessionID、nameID、userID等属性

我试图让一个用户加入一个不是他创建的房间

如果我尝试这样做,我会在web dev面板上看到一条错误消息,上面说:

POST http://127.0.0.1:8090/xdd/src/api/user/create.php 400 (Bad Request)
vue-resource.esm.js?f3ef:1082
当我加载本地路径url(包括create.php)时,它会显示:

注意:试图在第19行的C:\laragon\www\xdd\src\api\user\create.php中获取非对象的属性“userName”

注意:试图在第20行的C:\laragon\www\xdd\src\api\user\create.php中获取非对象的属性“sessionId”

有人能帮我吗?这是(用扑克牌)解决api最大问题的最后一件事

以下是我的user/create.php代码:

<?php

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

include_once '../config/db.php';
include_once '../models/user.php';

$database = new Database();
$db = $database->getConnection();

$user = new User($db);

$data = json_decode(file_get_contents("php://input"));

$user->userName = $data->userName;
$user->userSession = $data->sessionId;

if($_SERVER['REQUEST_METHOD'] == "OPTIONS") {
  echo "OPTIONS";
} else {
  switch($user->create()){
    case "NEW USER":
      $insertId = $db->lastInsertId();
      echo "$insertId";
      break;
    case "EXISTING USER":
      echo "$user->userId";
      break;
    case "SESSION NOT FOUND":
      http_response_code(404);
      break;
    default:
      http_response_code(400);
  }
}


?>

显然,
$data
不是一个对象<代码>变量转储($data)以了解它包含的内容。如果为false,
var\u dump(file\u get\u contents(“php://input"));可能重复的@aynber(i)打印空(ii)打印字符串(0)“
php://input
-流为您提供请求的主体。如果你直接通过浏览器访问页面,它会使用一个GET方法进行访问,该方法不包含任何正文,这意味着你试图
json_decode()
一个空值(它不会返回对象)。@aynber我很困惑,我怎么能够通过检索必要的数据来解决这个问题呢,显然,
$data
不是一个对象<代码>变量转储($data)
以了解它包含的内容。如果为false,
var\u dump(file\u get\u contents(“php://input"));可能重复的@aynber(i)打印空(ii)打印字符串(0)“
php://input
-流为您提供请求的主体。如果你直接通过浏览器访问页面,它会使用一个GET方法,该方法不包含任何正文,这意味着你试图
json\u decode()
一个空值(它不会返回一个对象)。@aynber我很困惑,我怎样才能通过检索必要数据的方式来修复这个问题
Request URL: http://127.0.0.1:8090/xdd/src/api/user/create.php
Request Method: POST
Status Code: 400 Bad Request
Remote Address: 127.0.0.1:8090
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With
Access-Control-Allow-Methods: POST
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 3600
Connection: close
Content-Length: 95
Content-Type: application/json; charset=UTF-8
Date: Wed, 11 Sep 2019 13:53:47 GMT
Server: Apache/2.4.35 (Win32) OpenSSL/1.1.0i PHP/7.2.11
X-Powered-By: PHP/7.2.11
Provisional headers are shown
Accept: application/json, text/plain, */*
Content-Type: application/json;charset=UTF-8
Origin: http://localhost:8080
Referer: http://localhost:8080/join/32
Sec-Fetch-Mode: cors
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
{userName: "a", sessionId: "32"}
sessionId: "32"
userName: "a"