2016-07-26 4 views
0

PHP Version 7.0Я неправильно использовал JSON_decode или php-содержимое?

Так что в основном есть другой сайт, отправляющий информацию в этот скрипт. Этот скрипт не связан ни с одной другой частью веб-сайта. Поэтому я не просматриваю эту страницу. Информация отправляется в кодированном 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 не существует по какой-либо причине. Я фактически не использую это как веб-страницу. Я использую его как скрипт.

+0

Почему вы думаете, что это неправильно? Пожалуйста, объясните проблему. –

+0

Вы можете видеть, что предполагается вставить информацию в базу данных, а это не так. Я знаю, что соединение и обработчик работают так же, как и в других местах. – Austin

+0

Добро пожаловать в переполнение стека! Можете ли вы рассказать о том, как ваш код «не работает»? Что вы ожидали, и что на самом деле произошло? Если вы получили исключение/ошибку, опубликуйте строку, в которой она произошла, и сведения об исключении/ошибке. Пожалуйста, отредактируйте эти данные или мы не сможем помочь. – FrankerZ

ответ

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(); 
} 
?> 
+0

Итак, я предполагаю, что мне нужно перейти к сценарию в моем браузере, подождать, а затем отправить информацию и посмотреть, появляется ли предупреждение? – Austin

+0

, если ваш php находится в папке pathpath/index.php, поместите это в поле поиска вашего браузера. С этим json данные готовы. который является (php: // input), замените его примерными данными, если необходимо – PSo

+0

Хорошо, так что в принципе это так, как это работает. Этот скрипт находится под /scripts/addCall.php | На другом веб-сайте при нажатии кнопки он кодирует информацию (собранную клиентом) и отправляет ее на этот скрипт. Чтобы уточнить, я перехожу к этому сценарию. Находясь на странице, продолжайте и отправляйте данные? – Austin

Смежные вопросы