Я пытаюсь отправить данные методом post из ESP8266 в PHP скрипт, но ничего не отправляется - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь отправить данные из esp8266 на веб-сервер. Для этого я использую библиотеку ESP8266HTTPClient.h, соединение с URL-адресом установлено успешно, но метод post ничего не отправляет

Я пытался отправить данные в сервлет Java. но также не удалось отправить данные методом post

 void loop() 
   {

   HTTPClient http;    

   String postData = "data=12332115";

   Serial.println(postData);

   http.begin(url,fingerprint); 
   http.addHeader("Content-Type", "text/plain");    
   int httpCode = http.POST(postData);
   String payload = http.getString();    
   Serial.println(httpCode);   
   Serial.println(payload);     
   http.end();  
   delay(5000);  
 }

// код PHP

<?php
 //Get current date and time
 date_default_timezone_set('Asia/Kolkata');
 $d = date("Y-m-d");
 //echo " Date:".$d."<BR>";
 $t = date("H:i:0");
 if(!empty($_POST["data"]))
 {
     $status = $_POST["data"]."\n";
     $myfile="test-".$d."-".$t."txt";
     $file= fopen($myfile,'a');
     $x=fwrite($file,$status);
     if(x!=False)
     {
         echo "Success: data written into the file.";
     }
     else
     {
         echo "Failed: data not written in to the file.";
     }
     fclose($file);
     }
     else{
     echo "No data received";
     }

     ?>

// output

data = 12332115 200 Нет данных, полученных данных= 12332115 200 Данные не получены ...

1 Ответ

0 голосов
/ 02 октября 2019

Здесь тест на $ _POST неверен. Приведенный ниже код проверяет, является ли пустой ключ для массива $_POST пустым (что, конечно, имеет место).

   if(!empty($_POST[""]))

Должно быть

   if(!empty($_POST))
...