Relays with web server

Hi Im quite new to Arduino im trying to get my programme to work its a four relay board controlled by arduino web server my arduino is a mega with ethernet shield connected to my internal network it send the webpage code lovely but the buttons wont make the relays operate so need some help please here is my code

/*
Created by Rui Santos
Visit: http://randomnerdtutorials.com for more arduino projects

Arduino with Ethernet Shield
*/

#include <SPI.h>
#include <Ethernet.h>
#define RELAY_ON 0
#define RELAY_OFF 1

#define Relay_1 2 // Arduino Digital I/O pin number
#define Relay_2 3
#define Relay_3 4
#define Relay_4 5

byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x01 }; //physical mac address
byte ip = { 192, 168, 1, 17 }; // ip in lan (that’s what you need to use in your browser. (“192.168.1.178”)
byte gateway = { 192, 168, 1, 1 }; // internet access via router
byte subnet = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
String readString;

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
digitalWrite(Relay_1, RELAY_OFF);
digitalWrite(Relay_2, RELAY_OFF);
digitalWrite(Relay_3, RELAY_OFF);
digitalWrite(Relay_4, RELAY_OFF);

//—( THEN set pins as outputs )----
pinMode(Relay_1, OUTPUT);
pinMode(Relay_2, OUTPUT);
pinMode(Relay_3, OUTPUT);
pinMode(Relay_4, OUTPUT);

// delay(4000); //Check that all relays are inactive at Reset

// start the Ethernet connection and the server:

Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}

void loop() {
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();

//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}

//if HTTP request has ended
if (c == ‘\n’) {
Serial.println(readString); //print to serial monitor for debuging

client.println(“HTTP/1.1 200 OK”); //send new page
client.println(“Content-Type: text/html”);
client.println();
client.println("");
client.println("");
client.println("");
client.println("");
client.println("");
client.println(“Deano’s Arduino Web Controlled Relay”);
client.println("");
client.println("");
client.println(“

Deano’s Arduino Web Controlled Relays

“);
client.println(”
”);
client.println("
“);
client.println(“

Arduino with Ethernet Shield

”);
client.println(”
“);
client.println(”<a href="/?button1on"">Turn On Relay_1 “);
client.println(”<a href="/?button1off"">Turn Off Relay_1
“);
client.println(”
“);
client.println(”
“);
client.println(”<a href="/?button2on"">Turn On Relay_2 “);
client.println(”<a href="/?button2off"">Turn On Relay_2
“);
client.println(”
“);
client.println(”
“);
client.println(”<a href="/?button3on"">Turn On Relay_3 “);
client.println(”<a href="/?button3off"">Turn On Relay_3
“);
client.println(”
“);
client.println(”
“);
client.println(”<a href="/?button4on"">Turn On Relay_4 “);
client.println(”<a href="/?button4off"">Turn On Relay_4
“);
client.println(”
“);
client.println(”
“);
client.println(”");
client.println("");

delay(1);
// stopping client
client.stop();
// controls the Arduino if you press the buttons
// controls the Arduino if you press the buttons
if (readString.indexOf("?button1on") >0){
digitalWrite(Relay_1, HIGH);
}
if (readString.indexOf("?button1off") >0){
digitalWrite(Relay_1, LOW);
}
if (readString.indexOf("?button1on") >0){
digitalWrite(Relay_2, HIGH);
}
if (readString.indexOf("?button1off") >0){
digitalWrite(Relay_2, LOW);
}
if (readString.indexOf("?button1on") >0){
digitalWrite(Relay_3, HIGH);
}
if (readString.indexOf("?button1off") >0){
digitalWrite(Relay_3, LOW);
}
if (readString.indexOf("?button1on") >0){
digitalWrite(Relay_4, HIGH);
}
if (readString.indexOf("?button1off") >0){
digitalWrite(Relay_4, LOW);

}
}

//clearing string for next read
readString="";
}
}
}
}

I don't know what else might be wrong but should the test for all the buttons really be the same or did you copy/paste and forget to change the button number in the test ?

           if (readString.indexOf("?button1on") >0){
               digitalWrite(Relay_1, HIGH);
           }
           if (readString.indexOf("?button1off") >0){
               digitalWrite(Relay_1, LOW);
           }
              if (readString.indexOf("?button1on") >0){
               digitalWrite(Relay_2, HIGH);
           }
           if (readString.indexOf("?button1off") >0){
               digitalWrite(Relay_2, LOW);
           }
              if (readString.indexOf("?button1on") >0){
               digitalWrite(Relay_3, HIGH);
           }
           if (readString.indexOf("?button1off") >0){
               digitalWrite(Relay_3, LOW);
           }
            if (readString.indexOf("?button1on") >0){
               digitalWrite(Relay_4, HIGH);
           }
           if (readString.indexOf("?button1off") >0){
               digitalWrite(Relay_4, LOW);

Does readString look OK when you print it ?