Hi!
I'm trying to get a simple webserver going for just controlling a few LEDs, but for some reason the LEDs are acting strange and I can't figure out why...
The problem is that when I press the button on the webpage to turn it on/off, it always toggles 1 time before going into the state it's supposed to be. So if it's off and I try to turn it on, it will go like this 'Off - On - Off - On' and vice versa.
I hope my code isn't too messy, as I'm still new to this
#include <Dhcp.h>
#include <Dns.h>
#include <Ethernet.h>
#include <EthernetClient.h>
#include <EthernetServer.h>
#include <EthernetUdp.h>
#include <SPI.h>
int YLW = LOW;
int Cyan = LOW;
int Buzz = 6;
int freq;
int Green = LOW;
int lysSensor;
const int tempSensor = A1;
boolean Maal = false;
boolean receiving;
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0xC2, 0xC1};
IPAddress ip(158,39,162,161);
EthernetServer server(80);
void setup() {
  Serial.begin(9600);
  pinMode(2,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(3,OUTPUT);
 if(Ethernet.begin(mac) == 0){
  Serial.println("Failed to configure Ethernet using DHCP");
  Ethernet.begin(mac, ip);
 }
 delay(1000);
 server.begin();
 Serial.print("server ia at: ");
 Serial.println(Ethernet.localIP());
 Serial.println("End setup()");
}
void loop() {
 Serial.println("Start av loop()");
 EthernetClient client = server.available();
 if(client){
  Serial.println("Cleint == true --> new client");
  boolean currentLineIsBlank = false;
 Â
 Â
  while (client.connected()){
  Â
  if (client.available()){
    char c = client.read();
    Serial.write(c);
   Â
    if(receiving && c == ' '){
     receiving = false;
    }
    if(c == '?'){
     receiving = true;
    }
    Â
    if(receiving){
    Â
    Â
     if (c == 'Y'){
     Â
      YLW = client.parseInt(); // Plukker
      digitalWrite(YLW, !digitalRead(YLW));
      //receiving = false;
      }
      else if( c == 'L'){
       Cyan = client.parseInt();
       digitalWrite(Cyan, !digitalRead(Cyan));
       receiving = false;
      Â
      }
     Â
     else if(c == 'S'){
       freq = client.parseInt();
       tone(Buzz,freq);
       if(freq == 0){
        noTone(6);
       }
      }
     else if(c == 'M'){
      Green = client.parseInt();
       digitalWrite(Green, !digitalRead(Green));
      }
     Â
    }
   Â
  if (c == '\n' && currentLineIsBlank){
   client.println("HTTP/1.1 200 OK");
   client.println("Content-Type: text/html");
   client.println("Connection: close");
   //client.println("Refresh: 5");
   client.println();
  Â
   client.println("<!DOCTYPE HTML>");
   client.println("<html><head><title>Lab 7</title>");
   client.println("<meta charset=""UTF-8"">");
   client.println("</head><body>");
    client.println("<h1>Lab 7 </h1>
");
    client.println("<p><FONT face=Verdana color= red size=2> <b>Arduino Uno</p></b>");
    //Form for lys med bruk av knapp på nett.
    client.println("<form action='' method='get'>");
    client.println("<input type='hidden' name='Y' value='2' />");
    client.println("<input type='submit' value='Gult LED on/off' />");
    client.println("</form>");
    client.println("<form action='' method='get'>");
    client.println("<input type='hidden' name='L' value='5' />");
    client.println("<input type='submit' value='Blå LED on/off' />");
    client.println("</form>");
    Â
    //Form for Sensorer
    client.println("<form action='' method='get'>");
    client.println("<input type='hidden' name='M' value='3' />");
    client.println("<input type='submit' value='Sensor on/off' />");
    client.println("</form>");
   Â
    client.println("");
    client.println("<form action='' method='get'>");
    client.print("<input type='range' name='S' min='0' max='4000' step='100' value='0'/>");
    client.println("<input type='submit' value='Set Frequency' />");
    client.println("</form>");
    client.println("</body></html>");
    break;
  }
   if (c == '\n'){
Â
   currentLineIsBlank = true;
    }
   else if (c != '\r'){
  Â
   currentLineIsBlank = false;
   }
  }
 Â
  }
  delay(1);
  // close the connection:
  client.stop();
  Serial.println("client disconnected i if-setning");
  Serial.println("End loop() i if-setning");
  Serial.println("\n\n");
  } // end if (client)
  Serial.println("Ingen client tar kontakt. End loop()");
  Serial.println("\n");
}