Return multiple Variables on "Send" (HTML)

I am trying to put a web page together that will collect a string and attach other variables in this format:

?messageData=<contents of text box>?time?radioButtonChoice?

Not knowing HTML, I need a little advice....

code for the function here:

void webControl()
{
  EthernetClient client = server.available();
  if (client) 
  {
    while (client.connected()) 
    {
      if (client.available()) 
      {
        char c = client.read();
        if (locator < 100)
        {
          myString[locator] = c;
          locator++;
          myString[locator] = '\0'; 
        }
        if (c == '\n') //if HTTP request has ended
        {
          DEBUG_PRINTLN(F("MyString ="));
          DEBUG_PRINTLN(myString);
          // Send a full website that controls the ledPin and accepts message input...
          client.println(F("<html>"));
          client.println(F("<head>"));
          client.println(F("<title>Vera Helper</title>"));
          client.println(F("</HEAD>"));
          client.println(F("<BODY>"));
          client.println(F("<div align=\"center\">"));
          client.println(F("<H1>Arduino Auxilliary Controller</H1>"));
          client.println(F("<H1>for Vera</H1>"));
          client.println(F("<hr>"));
          client.println(F("<H2><font color=\"green\">Current Conditions</H2>"));
          client.println(F("<H3><font color=\"blue\">Temperature</font>"));
          client.println(F("<font color=\"red\">"));
          client.println(dht.getTemperature());
          client.println(F("</font>"));
          client.println(F("<font color=\"blue\">F</font>"));
          client.println(F("
"));
          client.println(F("<H3><font color=\"blue\">Humidity</font>"));
          client.println(F("<font color=\"red\">"));
          client.println(dht.getHumidity());
          client.println(F("</font>"));
          client.println(F("<font color=\"blue\">%</font>"));
          client.println(F("<hr>"));
          client.println(F("<h2>"));
          client.println(F("Send Message
"));
          client.println(F("<input type=\"text\" size=\"30\" value=\"Enter message here...\">"));
          client.println(F("<select name=\"mydropdown\">"));
          client.println(F("<option value=\"5\">5min</option>"));
          client.println(F("<option value=\"15\">15min</option>"));
          client.println(F("<option value=\"30\">30min</option>"));
          client.println(F("<option selected value=\"60\">60min</option>"));
          client.println(F("<option value=\"720\">12hrs</option>"));
          client.println(F("<option value=\"1440\">24hrs</option>"));
          client.println(F("</select>"));
          client.println(F("<h4>"));
          client.println(F("<div align=\"center\">"));
          client.println(F("<input type=\"radio\" name=\"group1\" value=\"Flash\"> Flash
"));
          client.println(F("<input type=\"radio\" name=\"group1\" value=\"Tone\"> Tone 
"));
          client.println(F("<input type=\"radio\" name=\"group1\" value=\"None\" checked> None</h4>"));
          client.println(F("<input type=\"submit\" value=\"Send\"> <input type=\"reset\" value=\"Reset\"></h2>"));
          client.println(F("<hr>"));
          client.println(F("<a href=\"/?ledStatus=1?\"\">Turn On Light</a>"));
          client.println(F("<a href=\"/?ledStatus=0?\"\">Turn Off Light</a>
 "));
          client.println(F("
"));
          client.println(F("<div style=\"background-color:grey; color:black; margin:20px; padding:20px;\">"));
          client.println(F("<h3>Vera</h3>"));

          client.println(F("<h5><a href=\"mailto:someone@gmail.com?subject=Arduino/Vera Home Controller\">"));
          client.println(F("Send Email</a><h5>"));
          client.println(F("</div>"));
          client.println(F("</BODY>"));
          client.println(F("</HTML>"));
          //
          delay(1);
          client.stop();
          for (byte i = 0; i < NUMBER_OF_MESSAGE_TYPES; i++)
          {
            messagePtr = strstr(myString, messageType[i]);
            if (messagePtr)
            {
              DEBUG_PRINTLN(F("success reading new network message..."));
              processMessage(i);
              break;
            }
          }
          myString[0] = '\0'; //clearing string for next read
          locator = 0;
        }
      }
    }
  }
}

the entire sketch is too big to attach

The GET request consists of name=value pairs, separated by &.

GET /aMoveOn?speed=42&duration=180&acceleration=14G

But, you are not assembling a GET request, so your question is not clear.

the presence of lines like this:

client.println(F("<a href=\"/?ledStatus=1?\"\">Turn On Light</a>"));
client.println(F("<a href=\"/?ledStatus=0?\"\">Turn Off Light</a>
 "));

return an appended page request which in turn gets sorted in the webControl() function. (sorry for the poor terminology)

So you are saying that with the "send" button I should assemble a GET request which collects the three variables... yes?

So you are saying that with the "send" button I should assemble a GET request which collects the three variables... yes?

No. That's why you are using standard html items. The browser understands the data it is displaying, and it assembles the GET request when the submit button(s) are pressed.

W3Schools Online Web Tutorials is a great place to learn about html and other client/server communications. They have all kinds to "Try it yourself" pages, where you see what the code looks like and what the browser does with the code.

I see. I appreciate the link. I'll work with that for a while.

Thanks!

understood now, @PaulS

it is actually quite easy. I only had to update the way I was handling the return.

Very cool...

void webControl()
{
  EthernetClient client = server.available();
  if (client) 
  {
    while (client.connected()) 
    {
      if (client.available()) 
      {
        char c = client.read();
        if (locator < 100)
        {
          myString[locator] = c;
          locator++;
          myString[locator] = '\0'; 
        }
        if (c == '\n') //if HTTP request has ended
        {
          DEBUG_PRINTLN(F("MyString ="));
          DEBUG_PRINTLN(myString);
          // Send a full website that controls the ledPin and accepts message input...
          client.println(F("<html>"));
          client.println(F("<head>"));
          client.println(F("<title>Vera Helper</title>"));
          client.println(F("</HEAD>"));
          client.println(F("<BODY>"));
          client.println(F("<div align=\"center\">"));
          client.println(F("<H1>Arduino Auxilliary Controller</H1>"));
          client.println(F("<H1>for Vera</H1>"));
          client.println(F("<hr>"));
          client.println(F("<H2><font color=\"green\">Current Conditions</H2>"));
          client.println(F("<H3><font color=\"blue\">Temperature</font>"));
          client.println(F("<font color=\"red\">"));
          client.println(dht.getTemperature());
          client.println(F("</font>"));
          client.println(F("<font color=\"blue\">F</font>"));
          client.println(F("
"));
          client.println(F("<H3><font color=\"blue\">Humidity</font>"));
          client.println(F("<font color=\"red\">"));
          client.println(dht.getHumidity());
          client.println(F("</font>"));
          client.println(F("<font color=\"blue\">%</font>"));
          client.println(F("<hr>"));
          client.println(F("<h2>"));
          client.println(F("Send Message
"));
          client.println(F("<form>"));
          client.println(F("<input type=\"text\" size=\"30\" name= \"messageData\" value=\"Enter message here...\">"));
          client.println(F("<select name=\"time\">"));
          client.println(F("<option value=\"5\">5min</option>"));
          client.println(F("<option value=\"15\">15min</option>"));
          client.println(F("<option value=\"30\">30min</option>"));
          client.println(F("<option selected value=\"60\">60min</option>"));
          client.println(F("<option value=\"720\">12hrs</option>"));
          client.println(F("<option value=\"1440\">24hrs</option>"));
          client.println(F("</select>"));
          client.println(F("<h4>"));
          client.println(F("<div align=\"center\">"));
          client.println(F("<input type=\"radio\" name=\"signal\" value=\"2\"> Flash
"));
          client.println(F("<input type=\"radio\" name=\"signal\" value=\"1\"> Tone 
"));
          client.println(F("<input type=\"radio\" name=\"signal\" value=\"0\" checked> None</h4>"));
          client.println(F("<input type=\"submit\" value=\"Send\"> <input type=\"reset\" value=\"Reset\"></h2>"));
          client.println(F("</form>"));
          client.println(F("<hr>"));
          client.println(F("<a href=\"/?ledStatus=1?\"\">Turn On Light</a>"));
          client.println(F("<a href=\"/?ledStatus=0?\"\">Turn Off Light</a>
 "));
          client.println(F("
"));
          client.println(F("<div style=\"background-color:grey; color:black; margin:20px; padding:20px;\">"));

          client.println(F("<h5><a href=\"mailto:somebodyl@gmail.com?subject=Arduino/Vera Home Controller\">"));
          client.println(F("Send Email</a><h5>"));
          client.println(F("</div>"));
          client.println(F("</BODY>"));
          client.println(F("</HTML>"));
          //
          delay(1);
          client.stop();
          for (byte i = 0; i < NUMBER_OF_MESSAGE_TYPES; i++)
          {
            messagePtr = strstr(myString, messageType[i]);
            if (messagePtr)
            {
              DEBUG_PRINTLN(F("success reading new network message..."));
              processMessage(i);
              break;
            }
          }
          myString[0] = '\0'; //clearing string for next read
          locator = 0;
        }
      }
    }
  }
}

Thanks!