Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny]Laravel - wysyłanie kodu aktywacyjnego a następnie wlogowanie do Panelu, jak wykonać funkcje Mail ?
casperii
post 23.05.2019, 19:38:35
Post #1





Grupa: Zarejestrowani
Postów: 680
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


Panowie nie bardzo wiem lub nie bardzo rozumiem , zasadę tworzenia szablonów by móc skorzystać z funkcji Mail , w czystym php'ie wystarczyło dołączyć klasę phpmailer i na tym temat się kończył.

Chciałbym wykonać schemat rejestracji dwu etapowej, tzn. user się rejestruje , Ja wysyłam do niego wiadomość z kodem, w tym czasie rejestracja się przeładowuje np na strona/activate z polem do wpisania kodu oraz przyciskiem "wyślij ponownie kod" , następnie po wklepaniu poprawnego kodu wylogowuje się do panelu administracyjnego.


Mój obecny kod RegisterController.php

  1. <?php
  2.  
  3. namespace App\Http\Controllers\Auth;
  4.  
  5. use DateTime;
  6. use Request;
  7. use App\{User,Role};
  8. use App\Http\Controllers\Controller;
  9. use Illuminate\Support\Facades\Validator;
  10. use Illuminate\Foundation\Auth\RegistersUsers;
  11. use Webpatser\Uuid\Uuid; //to nam daje losowanie klucza losowego
  12.  
  13. class RegisterController extends Controller
  14. {
  15.  
  16.  
  17. use RegistersUsers;
  18.  
  19. protected $redirectTo = '/admin';
  20.  
  21.  
  22. public function __construct()
  23. {
  24. $this->middleware('guest');
  25. }
  26.  
  27. protected function validator(array $data)
  28. {
  29. return Validator::make($data, [
  30. 'user' => 'required|string|max:255',
  31. 'email' => 'required|string|email|max:255|unique:users',
  32. 'password' => 'required|string|min:6|confirmed',
  33. ]);
  34. }
  35.  
  36. protected function create(array $data)
  37. {
  38. $data = array(
  39. 'name' => "Learning Laravel",
  40. );
  41.  
  42. $user = User::create([
  43. 'id_user' => rand(100, 999999999),
  44. 'user' => $data['user'],
  45. 'email' => $data['email'],
  46. 'password' => bcrypt($data['password']),
  47. 'ip' => Request::ip(),
  48. 'key' => Uuid::generate()->string,
  49. 'date' => new DateTime(),
  50. ]);
  51.  
  52. if(!Role::where('name','firm')->exists())
  53. {
  54. Role::create(['name'=>'firm']);
  55. Role::create(['name'=>'person']);
  56. Role::create(['name'=>'moderator']);
  57. Role::create(['name'=>'admin']);
  58. }
  59.  
  60. if($data['type'] questionmark.gif 0) $user->roles()->attach( Role::where('name','firm')->first()->id );
  61. else
  62. $user->roles()->attach( Role::where('name','person')->first()->id );
  63.  
  64.  
  65. return $user;
  66. }
  67. }
  68.  



z tego co wyczytałem, musiałbym teraz wykonać (nie wiem czy dobrze zrozumiałem) następujący kod:
  1. php artisan make:mail Activate


a w nim wstawić:

  1. public function build()
  2. {
  3. return $this->view('emails.activate');
  4. }


następnie możemy sobie edytować jak chcemy nasz szablon: resources/views/emails/activate.blade.php



następnie jakoś chyba trzeba by było wkleić w Register :

  1. Mail::send('emails.activate', $data, function ($message) {
  2.  
  3. $message->from('odkogo@.pl', 'Forum');
  4.  
  5. $message->to('odKogo@pl')->subject('Wiadomość lub chyba jakoś wyciągnięcie z blade ?');
  6.  
  7. });


no i jeszcze kwestia tych przekierowań i sprawdzanie czy ktoś podał poprawny kod aktywacyjny , ewentualnie zamiast sprawdzania to chyba by zrobić link aktywacyjny w mailu smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
casperii
post 3.06.2019, 16:12:50
Post #2





Grupa: Zarejestrowani
Postów: 680
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


@Pyton_000 UUID zastosowałem do wygenerowania unikalnego kodu weryfikacji, natomiast id_user i tak będę się upierać , że lepszy random z ewentualnym sprawdzaniem czy istnieje niż autoinkrementacja.
Chociaż tak sobie pomyślałem, że do id_user też można użyć wspomnianego uuid tongue.gif
Go to the top of the page
+Quote Post
markonix
post 3.06.2019, 19:44:52
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Cytat(casperii @ 3.06.2019, 17:12:50 ) *
@Pyton_000 UUID zastosowałem do wygenerowania unikalnego kodu weryfikacji, natomiast id_user i tak będę się upierać , że lepszy random z ewentualnym sprawdzaniem czy istnieje niż autoinkrementacja.
Chociaż tak sobie pomyślałem, że do id_user też można użyć wspomnianego uuid tongue.gif

Używanie UUID jest powszechną praktyką, ale np. przy pisaniu aplikacji rozproszonych, API itp. a nie dla wyimaginowanych problemów jak Twoje.


--------------------
Go to the top of the page
+Quote Post

Posty w temacie
- casperii   [inny]Laravel - wysyłanie kodu aktywacyjnego a następnie wlogowanie do Panelu   23.05.2019, 19:38:35
- - gitbejbe   no ale z czym masz problem ? Wkleiłeś trochę kodu ...   23.05.2019, 20:02:59
- - casperii   wkleiłem kod by dowiedzieć się / zasięgnąć porady ...   23.05.2019, 20:20:30
- - gitbejbe   Cytatwkleiłem kod by dowiedzieć się / zasięgnąć po...   23.05.2019, 21:51:59
- - casperii   im dalej w las tym większe drzewa w tym Laravelu ...   23.05.2019, 21:58:59
- - markonix   Cytat[PHP] pobierz, plaintext `id_user' => rand...   24.05.2019, 00:12:30
- - casperii   @markonix nie bardzo rozumiem, czepiania się rando...   25.05.2019, 13:44:54
|- - markonix   Cytat(casperii @ 25.05.2019, 14:44:54...   25.05.2019, 21:26:24
- - memory   id_user musi być unikalny. Używając rand, to tak j...   25.05.2019, 15:51:40
- - casperii   w zakresie 100 - 999999999 ciężko powtórzyć te sam...   25.05.2019, 16:20:57
- - viking   Tak czy inaczej to zły pomysł. Oprócz wysyłki może...   25.05.2019, 16:31:20
- - casperii   @viking - zatem jaki masz pomysł na generowanie lo...   25.05.2019, 20:33:30
- - casperii   właśnie chcę uniknąć auto inkrementacji , nie chce...   25.05.2019, 22:27:02
|- - markonix   Cytat(casperii @ 25.05.2019, 23:27:02...   26.05.2019, 17:50:55
- - Pyton_000   Ehh Przecież dostałeś odpowiedź w innym temacie a ...   26.05.2019, 19:28:55
- - Lord   https://github.com/webpatser/laravel-uuid/   27.05.2019, 09:13:01
- - casperii   @Pyton_000 UUID zastosowałem do wygenerowania unik...   3.06.2019, 16:12:50
- - markonix   Cytat(casperii @ 3.06.2019, 17:12:50 ...   3.06.2019, 19:44:52


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 14:38