Ethernet Library Usage: Create a text entry and submit button

I want to make a text entry and submit button so I can send a value to the arduino from the arduino served web page. Then store the submitted value in a variable for use. Can anyone point me in the right direction?

Can anyone point me in the right direction?

Thanks PaulS. That gets me to what I need in html side of it. How do I receive that data on the arduino side for storing in a variable?

How do I receive that data on the arduino side for storing in a variable?

Have you looked at the Arduino-as-server example? Have you written ANY code?

PaulS:

How do I receive that data on the arduino side for storing in a variable?

Have you looked at the Arduino-as-server example? Have you written ANY code?

I have looked at the example - webServer and ChatServer. I haven’t written any code for this project. Right now I am trying to get a better understanding of how the Ethernet library works.
I don’t see any input from the webpage on the Webserver example. On the ChatServer example I see

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();

  // when the client sends the first byte, say hello:
  if (client) {
    if (!alreadyConnected) {
      // clead out the input buffer:
      client.flush();
      Serial.println("We have a new client");
      client.println("Hello, client!");
      alreadyConnected = true;
    }

    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
      // echo the bytes back to the client:
      server.write(thisChar);
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}

In an effort to understand what is going on here…

void loop() {
  // wait for a new client:
  EthernetClient client = server.available();                    //not sure at all what this does.

   // when the client sends the first byte, say hello:    
  if (client) {                                                                                
    if (!alreadyConnected) {                                                   //if client is not connected
      // clear out the input buffer:                                       
      client.flush();                                                                      //clear the input buffer.. why are we clearing the buffer?
      Serial.println("We have a new client");                     //print in serial that a client is connected
      client.println("Hello, client!");                                      //say hi to the new client
      alreadyConnected = true;                                            //acknowledging a client is connected? 
    }                                                                         

    if (client.available() > 0) {                                //if there are more than 0 clients available 
      // read the bytes incoming from the client:
      char thisChar = client.read();                     //Store what client sends in thisChar
      // echo the bytes back to the client:       
      server.write(thisChar);                                //Repeat what was received 
      // echo the bytes to the server as well: 
      Serial.write(thisChar);                                 //Display what is received
    }
  }
}

I think this is what I would need to receive from the webpage. Am I at least close?

void loop() {
        char thisChar = client.read();
      // echo the bytes back to the client:
      server.write(thisChar);
      
  }

Okay, So trying to make the text input… I get this error… I know I’ve formatted it wrong but I don’t know how.

WebServer.ino: In function ‘void loop()’:
WebServer:73: error: expected `)’ before ‘text’

/*
  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();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          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();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          client.println("<form>");
          client.println("Name: <input type="text" name="First Name">");
          client.println("</form>");
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }
}
          client.println("Name: <input type="text" name="First Name">");

Double quotes that are to be part of the string need to be escaped. Otherwise, they mark the end of the string.

What do you mean by “escaped”?

client.println(“Name: <input type=</mark>“text</mark>” name=</mark>“First Name</mark>”>”);

kindly upload your arduino and HTML code.