Я новичок в публикации/переадресации/получении. Я кодирую первый реальный сайт, который заставил меня обнаружить необходимость в PRG. Так что я написал и получил рабочий код, который сделал следующее:post/redirect/получить и сохранить запрос базы данных в СЕССИИ
1) user enters a search string
2) we search the database and find their desired search results
3) if we found their search results successfully, we alter the database --
a 'frequency of lookups' -- to indicate the user searched and found what
he was looking for
4) then display the results he searched on
Что я нашел было обновить страницу в браузере в результате пользователь снова увидит его же результаты поиска, но мы увеличившая «частоту поиска» - пользователь ограничен в частоте поиска в базе данных, поэтому, если пользователь слишком много раз обновлял страницу, они просматривали их по часовому рациону поиска базы данных. Именно тогда я обнаружил Post/Redirect/Get несколько дней назад.
Теперь я просматриваю сайт и изменяю все страницы, которые изменяют базу данных и отображают результаты и переходят на PRG. Вот новый процесс:
1) user enters a search string
2) we search the database and find their desired search results
3) if we found their search results successfully, we alter the database --
a 'frequency of lookups' -- to indicate the user searched and found
what he was looking for
4) PRG to a 'results' page
5) then display the results he searched on
И у меня возникла проблема. Мне нужно как-то «передать» результаты поиска с шага (2) выше на новую страницу «Результаты» в шаге (5), которую я создал для реализации PRG.
Итак, мой вопрос - есть ли «самый распространенный» способ сделать это? При чтении я видел «сохранить результаты в файле .CSV», а также «сохранить результаты поиска в базе данных на СЕССИИ».
Я хочу сохранить результаты поиска на СЕЗОНЕ, а затем на моей странице «GET», которую я добавил для PRG для отображения результата, я прочитаю результаты поиска из переменной сеанса и покажу их.
Под этим я подразумеваю, что я хочу сделать это:
$result = mysql_query($query, $theDbServer);
$_SESSION['theSearchResults'] = $result.
Затем на странице «Дисплей», считаны результаты поиска от $ _SESSION [ «theSearchResults»] и отобразить их с помощью:
$result = $_SESSION['theSearchResults'];
$row = mysql_fetch_row($result);
Это нормальный подход? И я подозреваю, что не могу сохранить исходный результат в переменной сеанса, как указано выше, но я также не уверен, как поместить результат $ result в $ _SESSION - как это обычно делается?
Спасибо +1, да, мое чувство кисти относительно файла .CSV было правильным, и будет легко прочитать запрос и сохранить его, я думаю, как массив в сеансе - спасибо человеку. – wantTheBest