En general .. en este "ambiente" de desarrollo . .cuando tu envias un formulario .. o "accionas" un link .. tus variables viajan al servidor; ahí un lenguaje del lado del servidor como puede ser PHP, este hace su proceso y tus variables quedan ahí .. se eliminan al terminar la ejecución de tu script .. Si ese script redirecciona hacia tu "formulario" donde está tus parámetros del buscador (ya sea a si mismo o en otro script/página) .. lo que debes hacer es "propagar" las variables al script nuevavente por el URL o por sesiones o por cookies ...
No hay más "memoria" que implementar que tener tus variables en algún médio almacenado temporalmente como son las sesiones, las cookies .. o bien pasar las variables por el URL simplemente (más seguro si cabe son las sesiones).
Ejemplo:
Si hay error .. no sé si usas un link para volve a buscar o redireccionas directamente . .el caso es que en el URL tienes que propagar esas variables que recibió tu script (desde tu formulario/link) por el método que las envies y formar un link con esas variables:
Código PHP:
<a href="formulario.php?buscar=<? echo $_GET['buscar']" ?>">volver a buscar</a>
Y en tu formulario .. para pre-establecer un valor seleccionado .. por ejemplo:
Código PHP:
<input type="text" name="buscar" value="<? echo $_GET['buscar'] ?>">
Para otros elementos de formularios como por ejemplo un "select" . .un botón de tipo "radio" o "checkbox" tienes las propidades "selected" y "checked" para pre-establecer su valor original.
Un saludo,