【问题标题】:Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated不推荐使用:不推荐使用自动填充 $HTTP_RAW_POST_DATA
【发布时间】:2016-04-22 23:00:54
【问题描述】:

我的 OO PHP 代码中出现以下错误:

已弃用:自动填充 $HTTP_RAW_POST_DATA 已弃用,并将在未来版本中删除。为避免此警告,请在 php.ini 中将 'always_populate_raw_post_data' 设置为 '-1' 并改用 php://input 流。在第 0 行的未知中

这是我的代码:

<?php 
error_reporting(E_ERROR | E_PARSE);

include_once 'config/database.php';
include_once 'objects/product.php';

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

// prepare product object
$product = new Product($db);

// get id of product to be edited
$data = json_decode(file_get_contents("php://input")); 

// set ID property of product to be edited
$product->id = $data->id;

// read the details of product to be edited
$product->readOne();

// create array
$product_arr[] = array(
    "id" =>  $product->id,
    "name" => $product->name,
    "description" => $product->description,
    "price" => $product->price
);

// make it json format
print_r(json_encode($product_arr));
?>

我已尝试更新 php.ini 文件,但它不起作用...

【问题讨论】:

  • 为什么不使用$_POST ??
  • 我试过了,但还是报错
  • 到底试过什么?什么错误?
  • 已弃用:自动填充 $HTTP_RAW_POST_DATA 已弃用,并将在未来版本中删除。 --> 我得到这个错误
  • 而不是使用 $data = json_decode(file_get_contents("php://input"));我用过 $data = $_POST['id'];

标签: php


【解决方案1】:

对不起,谢谢你是对的:)

$_REQUEST['id'] -> 带走错误

//获取要编辑的产品的id

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

json_decode(file_get_contents("php://input"));替换为$_REQUEST['id']

【讨论】:

  • 我建议$_POST .. 而不是$_REQUEST
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
  • 2019-11-08
  • 2019-11-08
  • 2020-01-03
  • 2011-12-02
  • 2015-01-24
  • 2020-06-08
相关资源
最近更新 更多