Я хочу проверить пользователя, когда он нажимает произвольный сгенерированный URL-адрес.Проверка электронной почты в yii-фрейме
Дайте мне решение для этих двух процессов.
1.Какие правила конфигурации URL-менеджера для получения хэша (строки и номера) из запроса на URL?
2. Как я могу сравнить значение хэша в URL с моим значением хэша в базе данных на контроллере/действии?
код для отправки электронной почты (это работает отлично)
protected function afterSave()
{
$activation_url = Yii::app()->createAbsoluteUrl('SignUp/Activate',array('activate_link'=>$this->activate_link));
Yii::import('ext.yii-mail.YiiMailMessage');
$message = new YiiMailMessage;
$message->setBody($activation_url);
$message->subject = 'Hello hell';
$message->addTo($this->email);
$message->from = Yii::app()->params['adminEmail'];
Yii::app()->mail->send($message);
return true;
}
код в контроллере
public function actionActivate($activation) {
$model= Signup::model()->findByAttributes(array(
'activate_link' => $activation
));
if ($model === null)
$this->redirect('index.php');
else
$model->user_status = 1;
$model->save();
$this->redirect('index.php');
//redirect/flash/login whatever
}
и текущая конфигурация URLManager
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
Вы знаете, это обычный процесс на всех современных веб-сайтах, который проверяет нового пользователя по электронной почте. –
вы написали код для отправки электронной почты или хотите все решение? – Ninad
Привет и добро пожаловать в StackOverflow. Этот сайт не тот, где люди «дают вам решение»; вам нужно продемонстрировать попытку решить проблему и решить проблему с конкретной проблемой. Из-за этого вы, скорее всего, не получите ответа. Пройдите [тур] (http://stackoverflow.com/about) и прочитайте [FAQ по заданию вопросов] (http://stackoverflow.com/help/asking). – Jon