我是否错误地使用了JSON_decode或php内容?

时间:2016-07-26 03:52:02

标签: php arrays json file-get-contents

PHP 7.0版

所以基本上有另一个网站向这个脚本发送信息。此脚本未连接到网站的任何其他部分。因此,我不查看此页面。信息以编码的JSON发送,我恐怕我试图解码不正确,或者它没有正确接收信息。

代码

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include '../includes/connection.php';
$array = json_decode(file_get_contents("php://input"), true);
$UserID = $array['UserID'];
$CallerID = $array['CallerID'];
$Report = $array['Report'];
$Violator = $array['Violator'];
$PlaceLink = $array['PlaceLink'];

if($CallerID !=NULL and $Report != NULL and $PlaceLink != NULL){
    $query = $handler->prepare("INSERT INTO Calls (`ID`, `UserID`,`CallerID`, `Report`, `Violator`, `PlaceLink`, `Status`) VALUES (NULL, :userID, :CallerID, :Report, :Violator, :PlaceLink, '1')");
    $query->bindParam(':userID', $UserID);
    $query->bindParam(':CallerID', $CallerID);
    $query->bindParam(':Report', $Report);
    $query->bindParam(':Violator', $Violator);
    $query->bindParam(':PlaceLink', $PlaceLink);
    $query->execute();
}
?>

预期结果:从其他网站发送的信息将在“呼叫”表下插入我的数据库。

结果:没有任何事情发生。

如果我转到页面,则没有显示任何内容。这是因为根本没有HTML。我实际上并没有将它用作网页。我用它作为脚本。

1 个答案:

答案 0 :(得分:0)

您的代码

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include '../includes/connection.php';
$array = json_decode(file_get_contents("php://input"), true);
$UserID = $array['UserID'];
$CallerID = $array['CallerID'];
$Report = $array['Report'];
$Violator = $array['Violator'];
$PlaceLink = $array['PlaceLink'];
echo "<script>alert(". $array .");</script>"; 

if($CallerID !=NULL and $Report != NULL and $PlaceLink != NULL){
    $query = $handler->prepare("INSERT INTO Calls (`ID`, `UserID`,`CallerID`, `Report`, `Violator`, `PlaceLink`, `Status`) VALUES (NULL, :userID, :CallerID, :Report, :Violator, :PlaceLink, '1')");
    $query->bindParam(':userID', $UserID);
    $query->bindParam(':CallerID', $CallerID);
    $query->bindParam(':Report', $Report);
    $query->bindParam(':Violator', $Violator);
    $query->bindParam(':PlaceLink', $PlaceLink);
    $query->execute();
}
?>