Как создать одноразовое предложение для значений, передаваемых в форме PHP? - PullRequest
0 голосов
/ 17 июля 2011

У меня здесь есть интересная проблема, которая может потребовать некоторого творческого подхода.У меня есть страница PHP, которая имеет различные результаты страницы в зависимости от того, какое значение передается через веб-браузер.Например:

http://examplesite.com/landingpage.php?id=one
http://examplesite.com/landingpage.php?id=two
http://examplesite.com/landingpage.php?id=three

При текущей настройке каждая из этих страниц имеет различное предложение для посетителя сайта.Вот подвох ...
Я хочу, чтобы страница была доступна посетителю только один раз за сеанс.Кажется, это будет достаточно просто, но я не могу заставить его работать правильно.Я использовал одноразовый скрипт предложения для отправки куки, который затем перенаправляет пользователя на другую страницу, если он уже просмотрел предложение, но это не сработало в этой ситуации.Он будет хорошо работать для одной целевой страницы, но он основан на корневой странице PHP, поэтому, если передано любое из других значений, он перенаправит пользователя, даже если он не видел предложение.

ДляНапример, если посетитель сайта перейдет по адресу:

http://examplesite.com/landingpage.php?id=one

, он увидит разовое предложение.Затем, если они перейдут к:

http://examplesite.com/landingpage.php?id=two

Они будут перенаправлены так, как если бы они видели предложение для «двух», которого у них не было.

Надеюсь, этот вопрос имеет смысл,Если вам нужны дальнейшие разъяснения, просто спросите.Спасибо, что прошли через мою проблему, и если у вас нет точного ответа, но вы можете указать мне правильное направление, это будет высоко оценено.

1 Ответ

0 голосов
/ 17 июля 2011

Не глядя на код для landingpage.php, я могу только догадываться, что вы не учитываете id, когда проверяете наличие cookie.Вы должны установить куки на основе идентификатора.В противном случае вы увидите поведение, которое вы увидите: при просмотре id=one будет установлен cookie, а когда пользователь просматривает id=two, landingpage.php видит, что cookie существует, и перенаправляет пользователя.

Если вы хотите сохранить его простымдостаточно, чтобы ваш файл cookie представлял собой строку из id полей, разделенных таким символом, как труба или запятая: viewed_ids=one,two,three.Затем вы можете проанализировать это, чтобы увидеть, есть ли идентификатор текущей страницы в списке просмотренных идентификаторов, и перенаправить пользователя, если он есть, или добавить его, если это не так.

Я уверен, что вы понимаете, чтоподдержание состояния в сеансе может быть легко обойдено пользователем, так как вы упомянули, что перенаправление необходимо только для каждого сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...