Мне действительно сложно начать работу с этой задачей.Как я могу успешно выполнить процедуру «Запомнить это действие»?
У меня есть 2 формы на одной странице.
Первая форма предоставляет окно поиска для пользователей, чтобы ввести один из нескольких фильтров поиска, таких как Адрес, Почтовый индекс, Улицы, земельные участки, даже название штата.
Если в результатах поиска приводится несколько результатов, пользователь может нажать на ссылку Advanced Search
.
Этот Advanced Search
содержит несколько флажков, которые позволяют пользователям проверять один или несколько полей, чтобы сузить результаты поиска.
Это прекрасно работает.
Проблема заключается в том, чтобы дать пользователю возможность «сохранить» результаты поиска, возможно, используя файлы cookie, чтобы в следующий раз, когда пользователь загрузил эту страницу, результат поиска , который он сохранил в прошлый раз, станет его/ее по умолчанию , пока они не изменят его или пока не удалят файлы cookie, которые уничтожают это последнее действие.
Это больше похоже на запоминание последнего действия пользователя, когда он в прошлый раз искал эту страницу.
Мое до сих пор, прежде всего, заключается в том, чтобы хранить SQL-запрос в переменной Session в PHP-коде.
Затем, когда пользователь нажимает на "Remember This Action"
кнопку, что я собираюсь создать», я мог бы просто иметь мой PHP кодовая этой сессии значение переменной в куки.
Другими словами, я хотел бы сделать что-то вроде это:
$tsql = "SELECT Name, FeatType,
MinX, MinY, MaxX, MaxY
FROM mytable
ORDER BY ListOrder, Name DESC";
Session("LastAction") = $tsql
И затем есть "Remember This Action"
кнопку пост на моей странице PHP, который просто делает:
Cookies("LastAction") = Session("LastAction")
Cookies("LastAction").Expires = Date() + 365 ' expires in one year
Наконец, я ча п обеспечивают кнопку «Повторить последнее действие» на наших страницах и все это делает
$tsql = Request.Cookies("LastAction")
$stmt = sqlsrv_query($conn, $tsql);
Одна из многих проблем, которые я имею, что я не могу даже выйти за пределы этого запроса:
$tsql = "SELECT Name, FeatType,
MinX, MinY, MaxX, MaxY
FROM mytable
ORDER BY ListOrder, Name DESC";
Session ("LastAction") = $ TSQL
я получаю "недействительные" ошибка
Session("LastAction") = $tsql
Очевидно, что я очень, очень слабые на PHP, но прилагает все усилия, чтобы прийти к скорости.
Ваша помощь очень ценится
Я сделал некоторые шаги ребенка здесь.
Я могу получить это синтаксически корректен:
$_SESSION["LastAction"] = $tsql;
Я также смог установить правильный
setcookie('LastAction',$_SESSION["LastAction"],time() + (86400 * 365)); // 86400 = 1 year
Теперь, что эквивалентность этой строки в PHP?
$tsql = Request.Cookies("LastAction")
Выше был мой лучший удар, но я не думаю, что это правильно.
Я в основном пытаюсь поставить кнопку "Remember Last Action"
на другой странице.
Затем используйте:
$ TSQL = Request.Cookies ("LastAction")
, чтобы захватить значения из другой страницы на этой странице.
Получается длинный @mkumpan. Любые идеи, как сделать то, что вы рекомендовали? –
Не все, нет, вам нужно выяснить, где взять параметры поиска из сохраненного вами пользователя самостоятельно (скорее всего, просто сохраните флаги из POST при создании запроса, связанного с поиском), и вам также придется выяснить код, который будет перестроить, выполнить и отобразить поисковый запрос из повторно используемых опций. Я, однако, подробно остановился на методе cookie/serialization в исходном ответе. –