Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mvc wyświetlanie informacji w danym miejscu
inceptos
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.06.2012

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


Mam napisany szablon strony www oparty na technice mvc.

Niestety nie wiem jak sobie poradzić z taką sprawą:
Chcę wyświetlać informacje o błędzie w konkretnym miejscu na stronie - przykładowo mam napisaną rejestrację użytkowników jednak nie umiem poinformować użytkownika o tym, czy rejestracja zakończyła się pomyślnie czy też nie, jak i również o możliwych przyczynach niepowodzenia (zbyt krótkie hasło etc. nie chodzi mi w tym momencie o informowanie 'live' javascriptem).

W pliku views/v_register.php znajduje się formularz służący do tego aby się rejestrować (czysty kod html), a w pliku register.php przetwarzanie tego formularza (czysty kod php) - w jaki sposób mogę informować użytkownika o powodzeniu rejestracji bądź też jego braku > w konkretnym < miejscu - np. tuż pod formularzem.

Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Czemu czysty html? Wsadź tam if(null !== $info) echo $info;
MVC != MVP.
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

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


wydaje mi sie ze źle zrozumiałeś idęę MVC.

jeśli masz portal oparty o MVC, to jedna akcja powinna wyświetlać formularz (kontroler->akcja register->akcja register wyswietla widok register.php), a druga akcja powinna go odbierać (kontroler->uruchamia model ktory przetwarza dane i zwraca wynik->kontroler przekazuje te dane do widoku->widok je wyświetla).

W tej drugiej akcji twój model przetwarza dane logowania i zwraca komunikat o błędzie jeśli się nie uda. Przesyłasz komunikat z kontrolera do widoku, albo w ogóle zwracasz inny widok jeśli wystąpi błąd i po problemie.

Nie widze absolutnie powodu dla którego miałbyś implementować sam wzorzec MVC ręcznie, samemu, gdy istnieją dobre sprawdzone frameworki MVC, w których jeżeli będziesz podążał za ich konwencjami, to o MVC dowiesz się wiecej niż z tego forum.
Zainteresuj się Symfony2, albo jeżeli to dla ciebie za dużo i za enterprise-owo, to chociaż CodeIgniterem.


--------------------
"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs
Go to the top of the page
+Quote Post
inceptos
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.06.2012

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


Cytat
Przesyłasz komunikat z kontrolera do widoku, albo w ogóle zwracasz inny widok jeśli wystąpi błąd i po problemie.


Właśnie tego nie potrafię zrobić, w rejestracji sprawdzam np. czy podane hasła są identyczne (plik register.php):
  1.  
  2. if ($Registration->checkPasswordMatch($password, $repeatpassword) == FALSE) {
  3. $allOk = FALSE;
  4. }
  5.  


Zakładając, że nie są co mam tam zrobić aby po kliknięciu na przycisk Register pojawiła się informacja, że podane hasła nie są identyczne? Załadować widok, który by mówił, że coś poszło źle w tym momencie mnie nie satysfakcjonuje wink.gif (Zmienna $allOk zabezpiecza przed dodaniem użytkownika ze złymi danymi do bazy, tzn. na końcu sprawdzam stan zmiennej $allOk, jeśli TRUE to wykonuje inserta, jeśli FALSE to nie, być może jest na to inny lepszy sposób, ale w danym momencie przyszedł mi taki do głowy ;>).

Co do frameworków - najpierw chciałbym napisać prostą stronę (logowanie, rejestracja, dodawanie newsów/komentarzy, może przegląd profili/jego edycja) bez użycia frameworków).
Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


To daj w widoku if który sprawdza czy wystąpiły jakieś błędy, zakładając że przesyłasz do niego jakieś dane, które pobrałeś z modelu.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 22:23