Esp8266 Datenübertragung zu Webserver?

Servus, ich will mit dem ESP8266 messdaten an eine datenbank übertragen. Dafür nutzte ich dieses PHP script

<?php
// Datenbankverbindung
$servername = "";
$username = "";
$password = "";
$dbname = "";


// Verbindung zur Datenbank herstellen
$conn = new mysqli($servername, $username, $password, $dbname);


// Verbindung überprüfen
if ($conn->connect_error) {
    die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}


// POST-Daten empfangen
$startTime = $_POST['startTime'];
$elapsedTime = $_POST['elapsedTime'];


// SQL-Abfrage zur Einfügung der Daten
$sql = "INSERT INTO deine_tabelle (start_time, elapsed_time) VALUES ('$startTime', '$elapsedTime')";


if ($conn->query($sql) === TRUE) {
    echo "Daten erfolgreich gespeichert";
} else {
    echo "Fehler: " . $sql . "<br>" . $conn->error;
}


// Verbindung schließen
$conn->close();
?>

Und das ist mein Esp code:

#include <SPI.h>
#include <MFRC522.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>


#define SS_PIN D4  // SDA Pin (Slave Select)
#define RST_PIN D3 // Reset Pin
#define BUTTON_PIN D2  // Pin für den Button


const char* ssid = "";
const char* password = "";
const char* serverName = ""; // Pfad zum PHP-Skript


MFRC522 mfrc522(SS_PIN, RST_PIN);  // RFID-Instanz


unsigned long startTime;
bool timerActive = false;    // Gibt an, ob der Timer läuft
bool buttonPressed = false;  // Gibt an, ob der Button gedrückt wurde
bool waitingForCard = false; // Gibt an, ob wir auf eine Karte warten
bool cardDetectedOnce = false; // Gibt an, ob die Karte einmal erkannt wurde


WiFiClient client;  // WiFiClient-Instanz


void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);  // Button als Eingang mit internem Pullup-Widerstand
  Serial.begin(115200);               // Initialisiere die serielle Kommunikation
  SPI.begin();                        // Initialisiere den SPI-Bus
  mfrc522.PCD_Init();                 // Initialisiere den RFID-Leser


  // WLAN verbinden
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Verbinden mit WiFi...");
  }
  Serial.println("Mit WiFi verbunden!");
}


void loop() {
  // Überprüfen, ob der Button gedrückt wurde
  if (digitalRead(BUTTON_PIN) == LOW && !buttonPressed) {
    Serial.println("Button gedrückt. Warten auf Karte...");
    buttonPressed = true;      // Verhindert mehrfaches Auslösen
    waitingForCard = true;     // Aktiviert die Kartenüberprüfung
    cardDetectedOnce = false; // Zurücksetzen der Karteerkennung
  }


  // Überprüfen, ob wir auf eine Karte warten
  if (waitingForCard) {
    // Überprüfen, ob eine Karte in der Nähe ist
    if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
      if (!timerActive) {
        // Timer starten, wenn er nicht bereits läuft
        Serial.println("Karte erkannt! Timer startet.");
        startTime = millis();   // Startzeit speichern
        timerActive = true;     // Timer aktiv
        cardDetectedOnce = true; // Karte einmal erkannt
      } else if (cardDetectedOnce) {
        // Timer stoppen, wenn die Karte erneut erkannt wird
        unsigned long elapsedTime = millis() - startTime;
        Serial.print("Karte erneut erkannt! Timer gestoppt. Zeit: ");
        Serial.print(elapsedTime);
        Serial.println(" ms");


        // Daten an Server senden
        sendToServer(startTime, elapsedTime);


        timerActive = false;    // Timer stoppen
        buttonPressed = false;  // Erlaubt erneutes Drücken des Buttons
        waitingForCard = false; // Beendet die Kartenüberprüfung
      }


      // Karte gelesen, Lesevorgang stoppen
      mfrc522.PICC_HaltA();
      mfrc522.PCD_StopCrypto1();
    }
  }
}


// Funktion zum Senden der Daten an den Server
void sendToServer(unsigned long startTime, unsigned long elapsedTime) {
  if (WiFi.status() == WL_CONNECTED) { // Überprüfen, ob wir mit dem WLAN verbunden sind
    HTTPClient http;


    // URL festlegen mit WiFiClient
    http.begin(client, serverName);


    // HTTP-POST-Daten
    http.addHeader("Content-Type", "application/x-www-form-urlencoded");
    String postData = "startTime=" + String(startTime) + "&elapsedTime=" + String(elapsedTime);
    Serial.print("POST-Daten: ");
    Serial.println(postData);


    // HTTP-POST-Anfrage senden
    int httpResponseCode = http.POST(postData);


    if (httpResponseCode > 0) {
      String response = http.getString(); // Antwort vom Server lesen
      Serial.println("Antwort vom Server:");
      Serial.println(response);           // Antwort anzeigen
    } else {
      Serial.print("Fehler bei der HTTP-Anfrage: ");
      Serial.println(httpResponseCode);
      Serial.println("Möglicherweise ein Netzwerkproblem oder Server-Fehler.");
    }


    // Verbindung schließen
    http.end();
  } else {
    Serial.println("Nicht mit WiFi verbunden");
  }
}

Leider erhalte ich jedesmal folgende Fehlermeldung Fehler bei HTTP-Anfrage :-1

SQL, Webseite, Arduino, Code, Datenbank, MySQL, PHP, Programmiersprache, Webentwicklung, C (Programmiersprache), Arduino Uno, Arduino IDE
Programmieren in C: Probleme mit der IDE?

Hallo! Im Studienvorbereitungskurs habe ich C gelernt. Wir haben die IDE "Devcpp" genutzt. An der Uni hat auch alles wunderbar geklappt, aber Zuhause bleibt das Programm nicht stehen. Ein "Hello World" z.B. kann ich nicht sehen, weil es die Konsole schließt, sobald das Programm durch ist.

Da das Programm bei mir auch nicht schön dargestellt ist (mit manchen Programmen hat mein Rechner irgendwie ein Problem, dass irgendwas mit der Auflösung nicht stimmt und das Programm irgendwie unscharf ist - aber anderes Thema), habe ich mir gedacht, die IDE zu wechseln und ein paar auszuprobieren.

Ich würde übrigens gerne gute Tipps annehmen. Ich brauche an sich nicht viel, weil ich es erst gelernt habe. Ein Programm, was mir eine Datei erstellt, ein bisschen farbig unterstützt und vielleicht auch bei der Eingabe (automatische zweite Klammer oder so), ein Debugger wäre auch ganz nett, in Python habe ich gern mit dem gearbeitet.. Oh, und ich möchte lokal arbeiten können..

Ich habe dann aber CodeLite und CodeBlocks ausprobiert und das hat irgendwie gar nicht funktioniert.. Ich bekam zwei Mal die Fehlermeldung, dass ich keinen Compiler hätte. In CodeLite kann ich gar nicht erst das Programm ausführen, welches ich geschrieben habe, in CodeBlocks klappt es, aber ich bekomme eine Fehlermeldung ganz am Anfang, dass der Complier fehlt und der Debugger ist ausgegraut.

Ich habe mich damit überhaupt nicht beschäftigt, sondern wollte einfach nur ein paar simple Programme rein aus Spaß ander Freude programmieren, ich bin ein wenig verunsichert und wirklich schlau bin ich aus dem Internet nicht geworden. Ich habe nur die Programmierkenntnisse, weil es mir Spaß gemacht hat.. Mehr aber auch nicht... :I

Kann mir jemand weiterhelfen, was ich tun muss, damit alles funktioniert? ^^"

Computer, App, IT, programmieren, IDE, Code, Programmiersprache, Softwareentwicklung, Webentwicklung, C (Programmiersprache), Entwicklungsumgebung