Also erstmal zu dem Thema, das sich die Werte immer ändern:
Jedes mal wenn Du das Script neu lädts(was ja über das abschicken des Formulars passiert), werden natürlich die Variablen über mt_rand() neu gesetzt. Um diese zwischen zu speichern wäre es meiner Meinung sinnvoll, Dich mit dem Session-Management ausseinander zusetzen. Sollte es nur für Dich sein, würde es IMHO reichen, wenn Du beim ersten Aufruf der Seite die gegebenen farben in versteckte Formularfelder setzt und diese dann jeweils bei jedem absenden des Formulars mit übergibst.
Die Lösung zur richtigen Verarbeitung ist nicht programmiertechnisch, sondern logisch zu bewältigen. Solltest Du programmiertechnisch soweit sein, das ganze umzusetzen, bin ich Dir natürlich gerne dabei behilflich, des Rätsels Lösung zu finden, aber bis dahin solltest Du dich vllt. ein wenig mit der Materie PHP beschäftigen. Hilfreich hierzu evtl.: Quake Tutorial
Bis dahin alles gute
Gruß
Tunnel85