I suggest storing the chart or drop-down values in session variables. This is the easiest way to perform serialization across dynamic pages and/or controls (drop-downs, etc.) It has it's caveats nonetheless. For instance, when a session times out, the boxes revert to default values once more. In this case you simply check for the existance of a session and if not found, redirect to the default page (or alternately, you could use cookies or a cludgy hidden fields generator.)
if (!session_is_registered("MyTestVar")){
if (!headers_sent())
header("Location: /page.htm");
}
As for the drop-down menus, you could either populate them from a database, an array, or even read the files from directory (depending on how your system works.) Then when you are writing out the options to the browser, check for the session variable being equal to the current value...
echo "<select name=\"mnuName\">\n";
foreach ($dropdowns as $value => $label) {
echo "<option value=\"$value\"";
echo ($_SESSION['thisVar'] == $value) ? " selected" : "";
echo ">$label\n";
}
echo "</select>\n";
All code is untested, use at own risk. Either way, this should point you in the right direction.