Arduino UNO client webpage design

Each literal string used in a client.println() is placed in SRAM. Each of these lines:

client.println("<button name=b value=1 type=submit style=height:50px;width:80px;background-color:#ADD8E6><h3 style=color:blue>S1</h3></button>");

take around 125 bytes of SRAM.

You have 17 lines like this using over 2100 bytes of SRAM, plus the other client.println() lines, plus any other variables that your sketch and the libraries that you are using require. That has to come out of the 2048 bytes of SRAM that the Uno has. You could try using the F() macro, which keeps literal strings in the Flash memory area.

client.println(F("<button name=b value=1 type=submit style=height:50px;width:80px;background-color:#ADD8E6><h3 style=color:blue>S1</h3></button>"));