Umieszczanie formularza kontaktowego w .html


(Magic94) #1

Mam pytanie. Nie jestem biegły w php, dopiero się uczę, więc proszę o wyrozumiałość. Jak w stronie w xhtml+css umiescic formularz kontaktowy napisany w php. Szukałem w goglach, ale to co jest napisane na ten temat jest dla mnie niezrozumiałe. Może ktoś powiedzieć w jaki sposób umieścić ten skrypt?


(Kontakt) #2

Z reguły wklejasz taki formularz w plik o rozszerzeniu php. I wrzucasz na serwer.

Szerszej odpowiedzi można bedzie udzielić jak zarzucisz kodem tego formularza :wink:


(Magic94) #3
<?php

// sprawdzamy, czy zmienna $submit jest pusta

if (empty($_POST['submit'])) {

    // wyświetlamy formularz

    echo "

| Treść wiadomości | |
| Imię, nazwisko lub nick | |
| Adres e-mail | |
|   |   |

"; } // sprawdzamy, czy zmienne przesłane z formularza nie są puste elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość // zmienna $message zawiera treść wiadomości $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]"; // zmienna $header zawiera przede wszystkim adres zwrotny $header = "From: $_POST[imie] <$_POST[email]>"; // funkcja mail() za pomocą której wiadomość zostanie wysłana @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header") or die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia echo "
Wiadomość została wysłana poprawnie!"; } // lub w przypadku nie wypełnienia formularza do końca else echo "Wypełnij wszystkie pola formularza!"; ?>[/code]


(Kontakt) #4

Czyli tak jak napisałem wyżej :wink:


(Irekxara) #5

tutaj pytanie było o HTML :slight_smile:


musisz zmienić "konstrukcje" strony abyś mógł wykorzystywać te dobrodziejstwa php:wink:


(Magic94) #6

tzn. nie moge wstawic jakiegos odniesienia do pliku .php z zawartoscią tego skryptu? Nie wyswietlałby się wtedy w xhtml? A jezeli tak to co mam zrobić.

Co masz na mysli mowiac "zmienic konstrukcję"?


(Kontakt) #7

Rozumiem. Ale jak zmieni sobie rozszerzenie na php i wklei w odpowiednie miejsce ten skrypt, to tak czy siak mu pójdzie przecież (łącznie z resztą strony) :wink: Ale no rozumiem też że chodzi o sam plik html :wink: To się poprawiam:

To wklejasz tam gdzie chcesz mieć w pliku html :wink:

| Treść wiadomości | |
| Imię, nazwisko lub nick | |
| Adres e-mail | |
|   |   |

[/code] Plik wyslij php:
[code]<?php if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) { $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]"; $header = "From: $_POST[imie] <$_POST[email]>"; @mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header") or die('Nie udało się wysłać wiadomości'); echo "
Wiadomość została wysłana poprawnie!"; } else echo "Wypełnij wszystkie pola formularza!"; ?>

W tym html, poprawiłem jeszcze zakończenie znacznika input :slight_smile: /> :wink:


(Magic94) #8

Działa!! Dzieki wielkie, w koncu ktos konkretny :stuck_out_tongue:


(Kontakt) #9

Konkretny, bo chciałem się trochę zrehabilitować :wink: Ale tutaj staramy się nakierowywać, z reguły, aby przez poprawianie, i edycje, czegoś się można było nauczyć :wink:


(Sacerius) #10

Zdaję sobie sprawę że to chodzenie na totalne skróty ale potrzebuję pomocy w miarę krótkim czasie.

Skorzystałem z powyższego rozwiązania tzn wklejenie pola formularza w *.html i osobnego pliku *.php. problem w tym, że jak już wysle ta iwadomośc to jest białe pole z informacją, że "wiadomośc została wysłana". do sprawdzenia:

http://flowtex.pl/kontakt.html a chaciałbym, żeby ten komunikat wyskakiwał np w miejscu wpisywania wiadomości albo w ostatecznosći z tej "białej" strony robił return do ktorejs z podstron....

Proszę o pomoc. Z góry dziekuje


(Jacek705) #11

@sacerius jeśli chcesz przekierować po wykonaniu skrypty na stronę zastąp linię

echo "

Wiadomość została wysłana poprawnie!";[/code] kodem:
[code]header('location:http://www.docelowa_strona.pl');

Powinno być OK :wink:


(system) #12

<?php

if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {

$message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST";

$header = "From: $_POST[imie] <$_POST>";

@mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")

or die('Nie udało się wysłać wiadomości');

header('location:http://www.docelowa_strona.pl');

}

else echo "Wypełnij wszystkie pola formularza! ";

?>