Wyświetlanie błędów i komunikatów użytkownikowi

Wyświetlanie błędów i komunikatów użytkownikowi
Webowiec
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam.

W jaki sposób wykonuje się przekazywanie jakichś błędów z działania aplikacji WWW? Chodzi mi o PHP

Dajmy na to, że użytkownik się loguje, lecz podał nieprawidłowe dane, a model to wychwycił. Teraz jak przekazać odpowiedni komunikat użytkownikowi? Akcja zakańcza się niepowodzeniem i znów następuje powrót do formularza

Bez używania GETA.

RA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 93
0

Zależy w czym piszesz(jaki framework). Najprościej przekazać lub utworzyć jakaś zmienna np. loginError = true; i w html sprawdzasz if(loginError) to zmień kolor input`a albo kolor przycisku logowania.

Webowiec
  • Rejestracja: dni
  • Ostatnio: dni
0

Pisze w obiektówce, starając się zbudować jakąś prowizoryczną apkę z wykorzystaniem wzorca MVC.

Twoja odpowiedź nie jest dobra - podałem jedynie przykład błędu, a jak się zapewne domyślasz, podczas logowania może wystąpić ich wiele. Zalezy mi na pełnych komunikatach tekstowych

T2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 194
0

To tworzysz zmienią loginError i przypisujesz jakiś błąd tekstowy, i w html sprawdzasz czy loginError nie jest pusty :).

Nie znam budowy Twojej aplikacji ale ja bym utworzył jeden region w którym wyświetlał wszystkie błędy walidacji które wystąpią po stronie serwisu.

Oczywiście możesz dodatkowo również wykonać walidacje po stronie UI bazując na JS.

Webowiec
  • Rejestracja: dni
  • Ostatnio: dni
0

Próbowałem zastosować zmienne globalne ($GLOBALS) do przechwytywania komunikatów, ale nie wiem jak pozbyć się natrętnego komunikatu, który już raz został wyświetlony!

Kopiuj
<?php
//Ewentualne błedy...
echo $GLOBALS['errors'];
$GLOBALS['errors'] = ' ';
?>

Pomimo zastosowania powyższego kodu, po odświeżeniu strony komunikat nie znika... Macie jakiś pomysł, dlaczego? ;)

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Zaprzęgnij do tego sesje - zapisuj komunikaty w sesji i wyświetlaj przy pierwszej możliwej okazji (czyli w 99% od razu podczas otwierania strony, choć przypadki mogą być różne).
Afair tak to działa np. w CakePHP.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.