Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][PHP] Formularz PHP, echo oraz json
Forum PHP.pl > Forum > Przedszkole
hejkumkejkum
Mam sobie formularz w PHP, który jest walidowany przez JavaScript ale oprócz tego, jest też walidowany w PHP, gdyby ktoś JavaScript miał wyłączony.

W zasadzie wszystkie formularze jakie znalażłem w sieci na potrzeby nauki, nie uwzględniają działania w sytuacji blokowanego lub wyłaczonego JavaScript ale uzywają Json. Ja chciałem mieć mechanizm działający w obu przypadkach, z Javascript i bez.

Problem polega na tym, że gdyby zdażyła się sytuacja, że funkcja mail() zwraca błąd, to osoba wysyłająca formularz dostanie komunikat że wiadomośc wysłana.
Dzieje się to dlatego, że JavaScript w moim formularzu nie wie czy php zwraca jakiś błąd czy nie, po prostu wysyła.

Chciałem więc to usprawnić i dodać warunek w JavaScript, który zabezpieczałby taką sytuację jak niedziałająca funkcja mail() lub inny błąd, który spowodował niewysłanie wiadomości.

Pomysłałem sobie, żeby zastosować Json.
Ale mam kolejny problem jak pogodzić JSON i to, że obecnie w pliku PHP mam warunki, które zwracają poprzez echo błedy danych pół walidowanych przy pomocy preg_match.

Czyli jak zrobić formularz który będzie działał i przy użyciu Json, jak i w sytuacji gdy wyłączony będzie Javascritp.
Bo obecnie formularz wysyła się bez względu na wszystko gdyż Javascript nei wie że wystapił błąd. Wysyłający sądzi, że wszystko poszło ok a wiadomośc nie dotrze.

Prosze o jakiś bryk, który pozwoliłby mi to zrealizować poprawnie.
#luq
Ogólnie Twój backend powinien robić coś takiego:

  1. $err = array();
  2. if(0 == strlen($foo)){
  3. $err[] = 'Foo nie moze byc puste';
  4. }
  5. if((...)){
  6. $err[] = (...)
  7. }
  8.  
  9. echo json_encode($err);
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-2025 Invision Power Services, Inc.