Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] formularz kontaktowy HTML + JS/AJAX + PHP Zrobione zgodnie ze sztuką?
Forum PHP.pl > Inne > Oceny
land
Przygotowuje prostą miniaplikację do wysyłania maila - formularz kontaktowy. HTML <-> JS/AJAX <-> PHP
Proszę o ocenę, czy kod napisany jest zgodnie ze sztuką.

Demo ma wyłączone wysyłanie maili, z prawdopodobieństwem 1/2 zwraca błąd lub powodzenie wysyłania.

demo, źródła
Comandeer
form nie potrzebuje [role] - jest domyślnie dodawane.

Zawsze przy tego typu formularzach ciekawi mnie jedna rzecz: czemu działają tylko z Ajaksem, skoro przy naprawdę minimalnym nakładzie sił można sprawić, że ten sam skrypt wysyłający obsłuży normalne przesłanie formularza. Ba, wystarczy wsadzić odpowiednie [action] do formularza i będzie działać. Po prostu nie wyświetli ładnego komunikatu.
bobek358
I kolejna sprawa jak ktoś wyłączy JS to nic nie zdziałasz, dlatego ja jestem zwolennikiem weryfikacji wstępnej po stronie JS po stronie php takiej już właściwej. Wiem, że jest to uciążliwe, ale ma to swoje zalety, zwłaszcza jeśli jest to prosta firmowa strona, która ma tylko formularz w JS.
Jeśli system jest napchany JS, to nie ma znaczenia bo i tak nic nie zdziałasz.
ZenekN
@Comandeer, również jestem zwolennikiem prostych rozwiązań ale te wymagają doświadczenia zawodowego wink.gif
land
Tyle, że większość osób oczekuje ładnego wyglądu i działania. Jak to jest zrobione to nie ma znaczenia. Może być kod spaghetti wraz z echo '<html>…'

Tutaj w przypadku braku standardowej obsługi formularza kierowałem się lenistwem, w końcu trzeba było skończyć i iść spać.
To, że można w przypadku braku włączonego JS wysłać formularz jest błędem. Miało być on ukrywany, ale przez przeoczenie nie zostało to zrobione.

Nie podobają mi się strony całkowicie nie działające bez włączonego JS. Jednak zastanawiam się czy słusznie. Jednak to temat na osobny wątek.
Comandeer
Ja oczekuję ładnego wyglądu i działania w browserach A-grade. W lynksie oczekuję, że formularz po prostu będzie działał wink.gif W Twoim wypadku dorobienie takiej obsługi to jakieś 10 minut pracy. Odpowiedź skryptu wysyłającego można zróżnicować dzięki nagłówkowi X-Requested-With. Jeśli jest obecny, dajemy odpowiedź w JSON, jeśli nie - generujemy HTML z szablonu. Cała reszta kodu zostaje bez zmian.
land
Dodałem obsługę bez JS i trochę zmieniłem architekturę aplikacji.
Proszę o ponowną ocenę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.