2016-01-18 6 views
-2

Я пытаюсь написать PHP-скрипт для обработки запросов POST. В конце концов, он должен взять JSON и записать его в файл. Прямо сейчас, я просто пытаюсь заставить что-нибудь работать, когда я вызываю общедоступный URL.Настройка сервера PHP для обработки запросов POST

<?php 

item1 = $_GET['username']; 

    echo $item1; 

fopen('TESTER_FILE.txt', 'w'); 

?> 

Я тестирую его

curl -H "Content-Type: application/json" -X POST -d '{"username":"xyz","password":"xyz"}' http://*********.com/file.php 

Он, кажется, идти до конца и не бросать какие-либо ошибки, но ничего не происходит. Я не получаю никакого эха или создания файла.

+0

Try '$ _POST [ 'имя пользователя']' – chris85

+1

POST = GET .... –

+0

Сделано изменения, но до сих пор ничего –

ответ

1
item1 = $_GET['username']; 

1: Вам нужен $ префикс сказать, что это переменная

2: Если вы ожидаете, отправленные данные, используйте $_POST вместо $_GET

Eg:

$item1 = $_POST['username']; 

fopen('TESTER_FILE.txt', 'w'); 

Это только открывает файл для записи, на самом деле он ничего не пишет. Для простоты, попробуйте использовать вместо file_put_contents():

file_put_contents('TESTER_FILE.txt', $item1); 

Если вы хотите добавить, а не перезаписывать:

file_put_contents('TESTER_FILE.txt', $item1, FILE_APPEND); 

Кажется, пройти и не бросать любые ошибок, но ничего не происходит. Я не получаю никакого эха или создания файла.

Поскольку вы пытаются делать обе эти вещи, то есть вероятность, что у вас есть ошибка где-то, и это прячась (это, вероятно, отсутствующего $ в строке 3 !!).

Включить отчет об ошибках! !

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// do the rest of your stuff 
+0

, но в остальном это отлично работает;) –

+0

Спасибо за редактирование @Dagon –

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