![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Na wstępie chciałbym zaznaczyć, że nie znam się na PHP, zajmuję się grafiką komputerową a z programowaniem u mnie bardzo przeciętnie... jednak ostatnio potrzebuje mieć formularz zamówienia na stronę. Niestety takie rzeczy głównie w php się tworzy...więc musiałem zacząć sobie z tym jakoś radzić... Udało mi się go zaprojektować jako tako czytając porady w internecie... Oto kod:
Formularz działa, jest to zupełnie najprostsza wersja... Jednak chciałbym dwie drobne usprawnienia wprowadzić.. z czym sobie nie radze... :/ Po pierwsze, chciałbym aby po kliknięciu na przycisk "wyslij" pojawił się jakiś napis typu: "Zgłoszenie zostało wysłane" ... domyślam się ze nie jest to nic bardzo skomplikowanego, lecz dla mnie jest to trudność (nie mam pojęcia w którym miejscu kodu mam wkleić dana fragment - nawet nie jestem pewien czy jest właściwy...) coś w tym stylu? dobrze mysle? Druga kwestia: Chciałbym także aby formularz sprawdzał czy dane pola są wypełnione, aby nie było takich incydentów, iż wystarczy kliknąć "wyslij" i wysyła maila z pustym formularzem... Bardzo proszę o pomoc... zależy mi na tym, i tak jestem juz z siebie dumny ze jako tako udało mi się coś naskrobać... ale z tymi elementami męczę się już drugi dzień :/ Z góry dziekuje i pozdrawiam ![]() Kuba |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Sprawdzanie pól może się odbyć na dwóch płaszczyznach. Po stronie uzytkownika i wtedy musisz poznać nieco JavaScript. Możesz też na serwer wysłać formularz i w pliku wpisanym do action zrobić sprawdzenie. To on zwróci informacje czy jest wszystko ok czy nie. Ja zazwyczaj w nim w odpowiedniej sytuacji zwracam pewne zmienne jako choćby action.php?er=1 w adresie i na podstawie tej flagi serwis mi rozpoznaje czy wszystko przebiegło pomyślnie, czy też nie. Oczywiście przy wielu polach trzeba to nieco zmodyfikować. Tutaj nie ma sensu tworzyć wtedy osobnego pliku tylko wywoływać się w nim samym (co zresztą jak widzę zrobiłeś). Pozwala to w prosty sposób choćby zwracać formularz z danymi starymi i komunikatami o nie wypełnionych polach. Zauważ, że to właśnie mi pozwala rozwiązać oba Twoje problemy. Podawać kodu nie będę bo walidacja obejmuje wiele różnych rzeczy i nie ma sensu tutaj tego pisać, bo bym Ci pewnie przynajmniej dwukrotnie kod wydłużył. Sam musisz zdecydować jak ma walidacja przebiegać i w pierwszych liniach pliku to ująć oraz rozwiązać.
Ja sobie często robię tak, że tworzę zmienną komunikatu i obiekt błędów. W zależności potem od tego gdzie wykrył błędy tworzę komunikat, który potem na stronie formularza wyświetlam. To logiczne podejście do tematu, bez niepotrzebnych ewentualnych wywoływań header('Location: xxxx') co w początkowym podejściu jest nieuniknione (gdy masz osobne pliki formularza i akcji). Ten post edytował thek 24.09.2009, 11:44:57 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie za bardzo zrozumiałem to co napisałeś.. dużo w tym tekscie fachowych sformułowań :/
Wiem, wina jest moja - bo to ja jestem laikiem... Eh, a czy nie da się chociaż tego pierwszego problemu jakoś łatwo rozwiązać? dodać do tego mojego kodu kilka linijek? Myslę ze aby rozwiązać akurat tą kwestie nie trzeba tworzyc innych plikow.... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 3.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wysłałem Ci wiadomość prywatną.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.07.2025 - 07:08 |