| 8 | | Корисниците се најавуваат со внесување на својата е-пошта. Системот проверува дали внесената е-пошта постои во базата на податоци. Доколку постои, корисникот добива пристап до својот профил и услугите. Ако не постои, системот го информира дека внесената е-пошта не е регистрирана. |
| | 8 | Корисникот се најавува со внесување на својата е-пошта. Системот врши валидација: |
| | 9 | 1. Проверува дали е внесена е-пошта (полето не смее да е празно). |
| | 10 | 2. Проверува дали внесениот податок е валидна е-пошта. |
| | 11 | 3. Проверува дали внесената е-пошта постои во базата на податоци. |
| | 12 | {{{ |
| | 13 | SELECT id_user, email |
| | 14 | FROM travel_sage.users |
| | 15 | WHERE email = 'vlatko.todorov@mail.com'; |
| | 16 | }}} |
| | 17 | Доколку корисникот постои во база му овозможува пристап кон preferences. |
| | 18 | |
| 10 | | 1. Корисникот ја отвора страницата за најава. Се прикажува формата за најава со следното поле: Е-пошта (name="eposhta") |
| 11 | | 2. Корисникот притиска на копчето „Најави се“. |
| 12 | | 3. Системот ги верификува внесените податоци: |
| 13 | | 4. Дали полето за е-пошта е пополнето (required) |
| 14 | | 5. Дали е внесена валидна е-пошта (email) |
| 15 | | 6. Дали е-поштата постои во базата на податоци (преку exists:korisnici,eposhta) |
| 16 | | {{{ |
| 17 | | SELECT * FROM korisnici WHERE ePoshta = 'john@example.com'; |
| 18 | | }}} |
| 19 | | * Ако е-поштата постои: |
| 20 | | Корисникот се пренасочува на preferences |
| | 20 | Ако не врати ништо, системот прикажува порака:Е-поштата не е регистрирана. Ве молиме регистрирајте се прво. |
| 26 | | {{{ |
| 27 | | public function login(Request $request): \Illuminate\Http\RedirectResponse |
| 28 | | { |
| 29 | | $request->validate([ |
| 30 | | 'eposhta' => 'required|email|exists:travel_sage_users,eposhta', |
| 31 | | ]); |
| 32 | | |
| 33 | | $korisnik = TravelSageUser::where('eposhta', $request->eposhta)->first(); |
| 34 | | |
| 35 | | session(['korisnik_id' => $korisnik->id]); |
| 36 | | |
| 37 | | return redirect()->route('preferences')->with('success', 'Успешно најавување!'); |
| 38 | | } |
| 39 | | |
| 40 | | }}} |
| 41 | | === Алтернативен тек |
| 42 | | Ако не е внесена е-пошта, системот прикажува порака за грешка: |
| 43 | | „Ве молиме внесете ја е-поштата.“ |
| 44 | | Корисникот ја пополнува и повторно клика „Најави се“ |
| | 26 | Корисникот го пополнува полето и повторно се обидува за најава. |