В настоящее время у меня есть одна страница, которая отображает параметры запроса и выполняет проверку формы, а другая страница обрабатывает запрос и показывает результат, если проверка прошла успешно. Я пытаюсь объединить эти две страницы вместе, чтобы пользователю не приходилось каждый раз переходить на две страницы вперед и назад, чтобы внести какие-то изменения в запрос.
Структура двухстраничного процесса выглядит следующим образом:
**Validation Page**
if (post detected)
{
validate input
if (no error)
{
record query options
redirect to results page
exit
}
else
{
output error message
}
}
display form
**Results Page**
if (query options are set)
{
process query
display results
}
else
{
redirect to validation page
}
Я видел, как эта концепция реализуется просто на страницах поисковых систем, где поле поиска и результаты находятся на одной странице. Я хочу реализовать что-то подобное, используя метод POST с формой, содержащей поля выбора и ввода.
1 ответ
Вы можете просто установить действие формы для себя (или оставить его пустым в строках action = ""
, и оно все равно будет указывать на себя, затем используйте простую проверку, чтобы увидеть, были ли отправлены какие-либо данные формы, чтобы определить, следует ли показать пустую страницу или результаты поиска:
if(isset($_REQUEST['searchStuffs']) // Not sure if you are GET or POST'ing
{
if(!empty($_REQUEST['searchStuffs'])
{
// do stuff here to get the form result, then display it
}
else
{
// The form was submitted empty, so show an error
}
}
else
{
// Display the normal search/form page as it hasn't been sent.
}
Вы также можете использовать следующий подход (который я, вероятно, использовал бы, хотя это дополнительная работа):
$searchBool=false;
if(isset($_REQUEST['searchStuffs']) // Not sure if you are GET or POST'ing
{
if(!empty($_REQUEST['searchStuffs'])
{
if(...)// valid search criteria
{
$searchBool=true;
// Do stuff to get search results
$searchResults='some output or data';
}
}
}
// Echo normal input form
if($searchBool)
{
echo $searchResults;
}
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.