Cakephp хранит переменные сессии в идентификаторе сессии, чтобы разделить URL между пользователями - PullRequest
0 голосов
/ 20 апреля 2011

Мой скрипт работает идеально в том виде, в каком он есть, но я пытался найти способ передачи значений сеанса (для сохранения значений критериев поиска формы) между двумя браузерами на разных компьютерах (для обмена результатами запроса). *

Я смотрю на два подхода:

1) Извлеките параметры URL из пути URL строки поиска, например: ... url / 50/1/4/5/98764, и выведите их обратно в значения формы поиска.

2) Используйте сеанс (который я сейчас использую для поддержания значений) для независимого пользователя. И это нормально работает для одного браузера, конечно.

Мой главный вопрос: какой подход лучше всего использовать для поиска результатов поиска при сохранении значений поиска в полях формы?

ДА. Я знаю, что это плохая идея делиться информацией о сессиях, как это, но это необходимо, у меня нет выбора!

1 Ответ

1 голос
/ 20 апреля 2011

Лучшей практикой будет # 1, извлечение параметров из URL и отображение их в форме. Вы можете держать его в чистоте, сохраняя параметры для URL и создавая их одинаковыми. Я использую белый список, чтобы извлечь и нажать на представление:

function search() {
    if(isset($this->data)) {
        // redirect to search with named params
        ...
    } else {
        $whitelist = array('param1','param2','param3');
        foreach($whitelist as $param) {
            if(isset($this->params['named'][$param])) {
                $this->data['Model'][$param] = $this->params['named'][$param];
            }
        }
    }
}

Предположим, у вас есть что-то вроде:

echo $form->input('param1'),
     $form->input('param2'),
     $form->input('param3')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...