Ich denke:
Du müsstest Dich entscheiden, ob die Connection zum Client bestehen bleibt oder geschlossen wird.
WiFiClient client = wifiserver.available();
Jetzt kannst Du mittels
client mit dem Browser kommunizieren, der eine Verbindung hergestellt hat.
Die Verbindung sollte jetzt bestehen.
Da Du das jedesmal machst, wenn ein Datenaustausch mit dem Client statt gefunden hat, müsstest Du die Verbindung beenden, s.
client.stop().
Der Client, also der Browser soll aber wohl wissen müssen, was passieren wird. Dazu sendest Du einen Header:
Code:
script += ("HTTP/1.1 200 OK \n");
script += ("Content-Type: text/html \n");
script += ("\n"); // do not forget this one //????
In diesem steht aber nicht, dass die Connection geschlossen werden soll.
Vielleicht mal mit einem korrekten Header anfangen:
Code:
script += ("HTTP/1.1 200 OK\r\n");
script += ("Content-Type: text/html\r\n");
script += ("Connection: close\r\n");
...
Von vorne:
Zuerst mit
WiFiClient client = wifiserver.available(); ein Objekt holen, dass Kommunikation mit dem Browser erlaubt (Browser hat Connection hergestellt). Das kannst Du zur Not mit
if(client)... überprüfen.
Dann prüfen, ob der Browser Daten gesendet hat und diese alle einlesen und verarbeiten.
Wenn fest steht, was er gesendet hat und die Daten (User und Passwort) richtig waren, dann die Seitendaten senden (inkl. dem Header wie oben).
Nach dem Datentransfer dem Browser mit
delay(x) etwas Zeit geben, die Daten zu empfangen.
Dann, am Schluss, zum Schließen der Connection
client.stop() verwenden
.
MfG