「そのパラメータを既存のパラメータのリストに追加するか、すでに存在する場合はパラメータを編集したい」
parse_str () / parse_url() 関数を使用して URL を連想配列に分割してから、新しい値で配列要素を追加/更新し、http_build_url() で有効な URL に戻すことができます。PHPマニュアルの例を見てください。それについて書くよりもコーディングする方が簡単です;)
"次に、ページを更新します"
非表示のフォーム要素に関する回答は悪くありませんが、ユーザーが何が起こるかを理解できるかどうか疑問に思います (以前の選択が記憶されているという目に見える確認はありませんが、何らかの方法でそれを保存します)。フォームが php で生成され、静的 HTML ではないと仮定すると、フォームを表示するときに最初のフォーム送信で選択されたオプションが強調表示されていることを確認しないでください。その後の提出?
<select name="b">
<option value="1" <?php if(isset($params['b']) && $params['b'] == 1) echo 'selected="selected"'; ?>>1</option>
</select>
少し面倒に見えますが、ユーザーの入力を再表示する習慣をつければ、入力を節約できます (何らかの検証のために空のフォームに 3 回入力する必要がある場合、ユーザーはあなたのページを嫌うでしょう)。
オプションタグの適切な属性は「選択済み」、チェックボックス/ラジオボタンの場合は「チェック済み」、テキスト入力には属性「値」があり、好きなものを入力できます。あなたにとって明らかなことについて話しているのではないかどうかわかりません...