Активация учетной записи по электронной почте с Laravel 3
Я пытаюсь подтвердить учетные записи пользователей по электронной почте, используя электронную почту новых пользователей и хэш. Что-то не так с моей маршрутизацией, когда я получаю ошибку 404 при нажатии на ссылку.
URL, который я отправляю пользователю, выглядит так:
http://mywebsite.com/users/verify/<email>/<hash>
Весь мой пользовательский контроллер зарегистрирован...
Route::controller('users');
Моя функция в контроллере пользователей выглядит следующим образом... просто пытаюсь запустить мою функцию, но я получаю ошибку 404.
// VERIFY NEW USER
public function post_verify($email, $hash) {
echo "$email Acct verified with $hash!";
}
Это кажется очень простым. Мой контроллер успокоен. Почему это не правильно маршрутизации?
Спасибо!
2 ответа
Все, что вам нужно, это заменить метод post на метод get в вашем контроллере: get_verify($email, $hash) вместо post_verify($email, $hash)
// VERIFY NEW USER
public function get_verify($email, $hash) {
echo "$email Acct verified with $hash!";
}
Вы отправляете URL-адрес пользователю, поэтому, когда они открывают его, они фактически отправляют запрос GET!
в вашем контроллере вас ждут POST- запросы:) Так что никогда не бывает! потому что нет формы для заполнения и публикации пользователями!
как отметил Алексей, измените его следующим образом:
// VERIFY NEW USER
public function get_verify($email, $hash) {
echo "{$email} Acct verified with {$hash}!";
}