Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Zacznę od początku. Niedawno rozpocząłem swoja przygodę z PHP i język sprawa mi sporo problemu. Jestem w trakcje tworzenia strony www z elementami PHP. Struktura strony wygląda następująco menu poziome wraz z grafiką znajdującą się po prawej stronie jest statyczne natomiast treść znajdująca się po lewej dynamiczna. Problem ten rozwiązałem za pomocą instrukcji include_once(), jednak nie na tym problem polega jedna z podstron kontakt.php posiada następujący kod:
natomiast skrypt odpowiedzialny za wysyłanie wygląda następująco:
W takim wypadku formularz działa, wysyła maila odraz w miejscu formularza wyświetlany jest komunikat dziękujący za wysłanie maila. W momencie gry zamiast fragmentu napisanego w html użyć echo nie wyświetla mi się podziękowanie. I nie bardzo wiem dlaczego ;/ Chciałem również dokonać sprawdzenia dwóch pól imię i temat napisałem taki kawałek kodu:
po wrzuceniu tego kodu na serwer ani nie wyświetla się żaden komunikat anie mail nie zostaje wysłany. Tematy na formum przeglądałem jednak nie znalazłem odp na mój problem - być może źle szukałem . Ten post edytował MatBlo 2.06.2010, 10:57:21 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Wstawiłem formularz do body, if zamieniłem i pomogło. Wiadomość jest wysyłana, podziękowanie również otrzymuję z tym, że nawet gdy wyślę pusty formularz. Czyli nadal instrukcja if nie dział (IMG:style_emoticons/default/sad.gif)
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%)
|
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Coś mi nie wychodzi - muszę chyba być prowadzonym jak dziecko za rękę. Wykorzystałem Twój skrypt jednak nie działa do końca prawidłowo. Co prawda jeśli nie wpiszę imienia to mail nie zostanie wysłany jednak nie otrzymuje również informacji o braku imienia. W przypadku podania imienia nie mam wiadomości o wysłaniu :?
Ten post edytował MatBlo 2.06.2010, 10:56:16 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%)
|
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Niestety nie ma żadnych zmian. Tak wyglądała cała moja nauka z PHP co coś wymyśle albo ktoś mi zaproponuje jakieś rozwiązanie czy też gdzieś przeczytam to nie działa:/ Co do maila jest to mój któryś mail taki zapasowy, ale zgadza się nie jest to zbyt inteligentne więc go usunąłem.
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%)
|
Dorzuć do każdego warunku if warunek else z inną wiadomością, może wtedy Ci się wyjaśni
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 4 Dołączył: 30.05.2010 Skąd: Gdynia Ostrzeżenie: (0%)
|
Powinno być ok..
Ten post edytował Damiian 2.06.2010, 11:27:04 |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Po drobnych przeróbkach działa (IMG:style_emoticons/default/biggrin.gif)
Mam jeszcze jedno pytanie co musiałbym zrobić, aby komunikaty u uzupełnieniu pojawiały mi się obok tego pola, a nie na nowej stronie? Ten post edytował MatBlo 2.06.2010, 12:34:27 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%)
|
Pewnie masz dwa pliki czyli formularz i action="link do skryptu" a jak chcesz zeby na tej samej sie pojawialy to zostaw action puste i formularz wklej do tego samego skryptu z plikiem.
Ten post edytował gigzorr 2.06.2010, 12:08:35 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 4 Dołączył: 30.05.2010 Skąd: Gdynia Ostrzeżenie: (0%)
|
Tak jak kolega wyżej powiedział
Stare action zamieniasz na:
I pod formularzem dajesz:
Dalej analogicznie. Ten post edytował Damiian 2.06.2010, 12:19:20 |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Sprawa nie wygląda tak łatwo, a to dlatego że jeśli zrobię tak jak mówicie to od razu po załadowaniu strony dostaje komunikat, że nie mam wypełnionego takiego i takiego pola, wiec brakuje fragment, który by aktywował sprawdzenie po naciśnięciu przycisku wyślij.
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 4 Dołączył: 30.05.2010 Skąd: Gdynia Ostrzeżenie: (0%)
|
Dlatego że pisujesz samo:
I skrypt odrazu po wejściu na stronę sprawdza czy są wypełnione pola, wiadomo że pokaże, iż nie są... Wklej to w formularz, tak jak tu jest:
To jest samo sprawdzenie first name, pododawaj potem wszystkie pola... |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Wkleiłem tak jak podaliście i nadal to samo.
|
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%)
|
|
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Wszystkim, którzy pomogli oczywiście bardzo dziękuję. Odświeżam temat ponieważ, mam jeszcze jeden problem w jaki sposób wyświetlić komunikaty o błędach, aby nie wyświetlały się pod formularzem tylko obok konkretnego pola? Np komunikat o braku wpisania imienia, obok pola z imieniem? |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%)
|
marginesami to ustaw .
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Możesz trochę rozwinąć swoją wypowiedź.
|
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 9 Dołączył: 20.02.2009 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Nie o to mi chodzi - pytam jak za pomocą jakiś instrukcji przy nie wpisaniu imienia mam otrzymać komunikat. np w tym span.
|
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 9 Dołączył: 20.02.2009 Ostrzeżenie: (0%)
|
Ustaw sobie do każdego inną zmienną np:
i póxniej tam gdzie chcesz daj PS. Nie koniecznie do każdego inną możesz tą samą ale pamietaj o kropce po = tzn
Ten post edytował Ruio 6.07.2010, 11:38:46 |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
coś mi nie działa ;/
mam tak w php
to nie otrzymuje żądnego komunikatu, natomiast jeśli w if zapiszę tak:
to wówczas komunikat znów otrzymuje pod spodem. Ten post edytował MatBlo 6.07.2010, 12:07:47 |
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 9 Dołączył: 20.02.2009 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Niestety nie pomogło to.
|
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 9 Dołączył: 20.02.2009 Ostrzeżenie: (0%)
|
Pokaż cały kod php który tyczy się tych ifów po poprawkach bo tu błedu nie ma
|
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Najpierw chciałem sprawdzić z jednym błędem czy jest ok, wiec te zmiany były wprowadzone tylko w jednej instrukcji.
Instrukcja wyświetla wszystkie komunikaty o błędach za wyjątkiem imienia. Ten post edytował MatBlo 6.07.2010, 12:29:16 |
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 9 Dołączył: 20.02.2009 Ostrzeżenie: (0%)
|
Działa bo sprawdzałem ;] PS. Połaczyłem ci wszystkie komunikaty w jednej zmiennej ale chyba dasz sobie rade zmienić je na pojedyńcze (IMG:style_emoticons/default/smile.gif) Ten post edytował Ruio 6.07.2010, 12:43:20 |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Wielkie dzięki (IMG:style_emoticons/default/smile.gif) (ofc za pomoc podziekowałem) nie wiedziałem, że wstawienie kodu php nad cześć html będzie miało znaczenie.
|
|
|
|
Post
#30
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Kolejność ma znaczenie. Przecież nie możesz wywołać zmiennej, której jeszcze nie ma (IMG:style_emoticons/default/winksmiley.jpg) Normalnie interpreter rzuca w takich sytuacjach ostrzeżeniem a zmienna, w zależności od kontekstu, przyjmuje wartość 0, false lub ciąg pusty. Jeśli chcesz zobaczyć jak może wyglądać wariacja na temat formularza to obejrzyj kod poglądowy w innym temacie, też tyczącym formularza i jego walidacji -> http://forum.php.pl/index.php?showtopic=15...st&p=762498 Może to podejście podsunie Ci jakieś pomysły dla własnego forma. Nie ma on co prawda wysyłki maila, ale to już drobiazg dla copy-paste (IMG:style_emoticons/default/winksmiley.jpg) Zwróć w nim uwagę na obsługę komunikatów błędów i walidację, bo to chyba najbardziej interesujący Cię fragment. Korzystaj jeśli rozumiesz i Ci się spodoba takie podejście. Przypatrz się co robię ze zmienną $errors zarówno w części walidującej, jak i samym wyświetlaniu formularza oraz poczytaj moje wyjaśniające posty poniżej tego posta, a powinieneś złapać co się dzieje i dlaczego oraz jak w kodzie. Nie jest to pełny gotowiec, ale daje pewne pobieżne pojęcie jak powinno się pewne rzeczy rozdzielać i stosować. Ciężko w polskim necie znaleźć dobrze opisany schemat tego pokroju. Zazwyczaj dostajesz mnóstwo kodu i minimum komentarzy. Tutaj starałem jak krowie na rowie niemal. Zwłaszcza dalszy post z opisem części dla $_GET.
|
|
|
|
Post
#31
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 27.05.2010 Ostrzeżenie: (0%)
|
Dzięki na pewno skorzystam.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 13:01 |