Assistance with String building

Hi, new to Arduino and I'm working on a temperature sensor project that sends the temps to a web server.

I'm trying to build the "post" command with strings, but I'm finding that the Aduino is truncating the string and I'm not sure why. I know there complexities with the String command and I'm hoping someone can help.

Declared at beginning of program:

String OutputString;

Declared in setup:

OutputString = String("");

Declared in loop function:

    OutputString = String(OutputString + "temp01=" + dtostrf(temperatures[1], 3, 1, buffer));
    OutputString = String(OutputString + "&temp02=" + dtostrf(temperatures[2], 3, 1, buffer));
    OutputString = String(OutputString + "&temp03=" + dtostrf(temperatures[3], 3, 1, buffer));
    OutputString = String(OutputString + "&temp04=" + dtostrf(temperatures[4], 3, 1, buffer));
    OutputString = String(OutputString + "&temp05=" + dtostrf(temperatures[5], 3, 1, buffer));
    OutputString = String(OutputString + "&temp06=" + dtostrf(temperatures[6], 3, 1, buffer));
    OutputString = String(OutputString + "&temp07=" + dtostrf(temperatures[7], 3, 1, buffer));
    OutputString = String(OutputString + "&temp08=" + dtostrf(temperatures[8], 3, 1, buffer));

After the 5th assignment the string reverts back empty and starts over. I'm not sure if I'm hitting some sort of string length limit or something else. I tired changing the order of the output just in case something in the variable was causing the problem but the issue remained in the same place.

What am I missing? Thanks.

You're missing posting your code.

Holy cow - how many String objects are being created and discarded there? HOW fragmented will your heap be?!?!

Stop using String objects immediately. Do it with a character array and a snprintf() function call.

This is what the Examples teach.
They were written by PC coders who didn't understand what the RAM limits of AVR's mean.

You can find loads of tutorials on C strings, and books (used books cost less) with a chapter on them as well.
Here's one that I don't find objection to so far except there's not enough, it's just a beginning:

Here's the standard <string.h> library that Arduino uses, you have to #include <string.h> to get these:
http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html

C strings do not copy themselves and erase the old one, unlike Strings.
C strings use less bytes, Strings have extra bytes needed.
C strings DO require the code to not write past the end of the array they are put/worked on inside.