I enter my web page with a password, I click on the button, but after clicking the button, the blank page opens. help please ..
/*
Web Server
with
http auth mod by Minh Truong
5-18-215
*/
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x2D };
byte gateway[] = { 192, 168, 1, 1 }; // <------- PUT YOUR ROUTERS IP Address to which your shield is connected Here
byte subnet[] = { 255, 255, 255, 0 }; // <------- It will be as it is in most of the cases
IPAddress ip(192,168,1,33);
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
//char userPass[200];
//char header[500];
String header;
//int bufferSize = 0;
#define RELAY_CH1 2
#define RELAY_CH2 3
#define RELAY_CH3 4
#define RELAY_CH4 5
#define RELAY_CH5 6
#define RELAY_CH6 7
#define RELAY_CH7 8
#define RELAY_CH8 9
String readString;
void setup() {
pinMode(RELAY_CH1, OUTPUT);
digitalWrite(RELAY_CH1, HIGH); // switch on LED1
pinMode(RELAY_CH2, OUTPUT);
digitalWrite(RELAY_CH2, HIGH); // switch on LED2
pinMode(RELAY_CH3, OUTPUT);
digitalWrite(RELAY_CH3, HIGH); // switch on LED3
pinMode(RELAY_CH4, OUTPUT);
digitalWrite(RELAY_CH4, HIGH); // switch on LED4
pinMode(RELAY_CH5, OUTPUT);
digitalWrite(RELAY_CH5, HIGH); // switch on LED5
pinMode(RELAY_CH6, OUTPUT);
digitalWrite(RELAY_CH6, HIGH); // switch on LED6
pinMode(RELAY_CH7, OUTPUT);
digitalWrite(RELAY_CH7, HIGH); // switch on LED7
pinMode(RELAY_CH8, OUTPUT);
digitalWrite(RELAY_CH8, HIGH); // switch on LED8
// Open serial communications and wait for port to open:
Serial.begin(28800);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 100) {
//store characters to string
readString += c; //Serial.print(c);
}
Serial.write(c);
header += c;
if (c == '\n' && currentLineIsBlank) {
//parse headers
//bWluaDp0ZXN0 = 'minh:test' (user:password) base64 encode
Serial.print(header);
// Simpler just to find the credential string
// send a standard http response header
if(header.indexOf("bWluaDp0ZXN0") >= 0) {
//successful login
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // the connection will be closed after completion of the response
client.println("Refresh: 20"); // refresh the page automatically every 5 sec
client.println();
if(header.indexOf("GET / HTTP/1.1") >= 0) {
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<HEAD>");
client.println("<meta name='apple-mobile-web-app-capable' content='yes' />");
client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />");
//client.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.digital2u.net/autohome.css\" />");
client.println("<meta http-equiv=\"refresh\" content=\"3;url=http://192.168.1.33/\"/>" );
client.println("</HEAD>");
client.println("<body bgcolor=\"#D0D0D0\">");
//client.println("<hr/>");
//client.println("<hr/>");
//client.println("<h4><center><img border=\"2\" src=\"https://lh3.googleusercontent.com/-C6BoJrRUFko/UEUFeCwkvdI/AAAAAAAAAOc/E7gcYvPV6r4/s960/Logo.jpg\" /></center></h4>");
//client.println("<hr/>");
//client.println("<hr/>");
client.print("<center> <p> <h1>HOSGELDINIZ</h1></p> ");
//client.println("
");
//client.println("
");
// Relay Status Display
client.println("<center>");
client.println("<table border=\"5\">");