Начало PHP-сессии по электронной почте - PullRequest
0 голосов
/ 26 февраля 2012

У меня есть электронное письмо со ссылками на различные продукты, которые я отправил потенциальным клиентам.При нажатии на ссылку я хочу перевести пользователя на страницу с формой на ней.Исходя из того, по какой ссылке товара они кликнули, я хочу, чтобы значение скрытого поля ввода совпадало с названием товара.

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

Как мне поступить?

Ответы [ 3 ]

2 голосов
/ 26 февраля 2012

Ваша первая проблема довольно проста. Вы просто используете параметр из URL ($ _GET ['pruduct_name']) и помещаете его в поле значения вашего скрытого ввода, например:

<input type="hidden" value="<?php echo $_GET['product_name']; ?>" />

Будет довольно сложно сделать URL доступным только по ссылке электронной почты.

2 голосов
/ 26 февраля 2012

Ссылка в письме может быть что-то вроде

http://example.com/my-script.php?email=<email_address>&token=<token>

, где значение <token> вычисляется вашим сценарием (тайным способом) на основе адреса электронной почты; Затем в my-script.php проверьте правильность полученного значения токена (путем повторного вычисления токена по адресу электронной почты и сравнения двух).

Конечно, любой, имеющий эту ссылку, может просто перейти на страницу, но он не сможет изменить значение адреса электронной почты. Чтобы предотвратить это, вам понадобятся учетные записи пользователей, а пользователю необходимо будет войти в систему

1 голос
/ 26 февраля 2012

Когда вы отправляете электронное письмо, вы можете сгенерировать случайную буквенно-цифровую последовательность, которую вы добавляете в строку запроса URL yourdomain.com/page.php?id=sdlasjh234897dhaksjhda и сохраняете в своей базе данных вместе с продуктом, к которому оно подключено.

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

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