äh, sorry, vor
// close the connection:
client.stop();
der "echte" ungekürzte Code ist dieser hier:
Code:
void handleNotAuthorized() {
String readString = "";
char strinput[MAXLEN], strupwd[TOKLEN], struname[TOKLEN] ;
WiFiClient client = wifiserver.available();
strcpy(strinput, "");
strcpy(strupwd, "");
strcpy(struname, "");
while ( client.connected() ) {
if (authorized) return;
if ( client.available() ) {
char c = client.read();
//read char by request
readString = "";
while ( (readString.length() < TOKLEN) && (c != '\n') ) {
readString += c;
c = client.read();
}
if(strstr(website_upwd,strupwd)!=NULL & strstr(website_uname,struname)!=NULL)
readString.toCharArray(strinput, MAXLEN);
// cstringarg( char* haystack, char* vname, char* sarg )
// haystack pattern: &varname=1234abc, delimiters &, \n, \0, SPACE, EOF
cstringarg(strinput, "uname", struname); // uname
cstringarg(strinput, "upwd", strupwd); // upwd
// debug
Serial.print("strupwd >>>"); Serial.print(strupwd); Serial.println("<<<");
Serial.print("website_upwd>>>"); Serial.print(website_upwd); Serial.println("<<<");
Serial.print("readString>>>");Serial.println(readString);
if ( (strlen(strupwd)==strlen(website_upwd)) && (strcmp(website_upwd, strupwd)==0)
&& (strlen(struname)==strlen(website_uname)) && (strcmp(website_uname, struname)==0)
)
{
authorized = true;
readString = "";
return;
}
//if HTTP request has ended
if (c == '\n') {
client.flush();
//now output html data header
String script="";
script += ("<!DOCTYPE html> \n");
script += ("<html> \n");
script += ("<head> \n");
// utf-8 für "°" Zeichen
script += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> \n" ;
script += "<title>" ;
script += "</title> \n" ;
script += "</head> \n" ;
script += "<body> \n" ;
script += ("<h2><p style=\"color:rgb(255,0,191);\"> log in to proceed: </p> </h2> \n");
script += ("<FORM ACTION='/' method=GET > \n");
script += ("<h2>user name: <INPUT TYPE=text NAME='uname' VALUE='' MAXLENGTH='50'> </h2> \n");
script += ("<h2>password : <INPUT TYPE=PASSWORD NAME='upwd' VALUE='' MAXLENGTH='50'> </h2> \n");
script += ("<h2><INPUT TYPE=SUBMIT></h2> \n");
script += ("</FORM> \n");
script += ("<BR> \n");
script += ("</body> \n");
script += ("</html> \n");
//----------------------------------
String script1 = "";
script1 += "HTTP/1.1 200 OK \n";
script1 += "Content-Type: text/html \n";
script1 += "Content-Length: " + (String)script.length() + "\n";
script1 += "\n"; // do not forget this one //????
script = script1+script;
client.print(script);
delay(100);
//stopping client
/*
while(client.connected()) {
delay(10);
}
*/
client.stop();
}
}
delay(1);
}
}
Lesezeichen