Как мне создать письмо с подтверждением на PHP? - PullRequest
2 голосов
/ 21 ноября 2010

Человек попросил меня создать php-код, который является частью более крупного проекта по разработке программного обеспечения ERP, чтобы он мог проверить мои навыки. Код относительно простой аутентификации пользователя, когда пользователь регистрируется через форму, указав имя, дату рождения, адрес электронной почты (что я уже сделал через html).

Свойство action в html-форме представляет собой php-файл, который состоит из php-кода для получения опубликованных входных данных в форме, создания ссылки для проверки и отправки ее пользователю через его / ее адрес электронной почты, который он / она уже дал.

У меня есть два основных вопроса или проблемы:

  1. Как создать эту ссылку для подтверждения?
  2. Как только пользователь нажимает на ссылку этого типа, как PHP узнает, что он это сделал?

Я не думаю, что в PHP существует какая-либо концепция событийно-управляемого программирования. В таком случае, как PHP обрабатывает этот клик и дает «конформационное сообщение об успехе»? Требуется ли база данных MySQL или есть более простой способ?

Ответы [ 2 ]

5 голосов
/ 21 ноября 2010

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

Затем вы создадите страницу авторизации (например, authorize.php).Он будет принимать параметр $ _GET 'code' или что угодно еще (например, authorize.php?code=theHashYouCreated).Код этой страницы будет выглядеть примерно так:

if(!empty($_GET['code']))
{
  /*
   * Get the data from the database by the provided code. 
   * If a result is returned, then remove the authorization 
   * code from the user's record. If no user is found, then 
   * return an error.
   */
}
else
{
  //No code was provided, so we should error.
}

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

0 голосов
/ 21 ноября 2010

Вот хороший учебник, который должен помочь вам создать электронное письмо с подтверждением:

http://www.learnphponline.com/scripts/email-activation-for-php-forms

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

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

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