Formularz kontaktowy


(Gg505) #1

Witam!

Mam prośbę, możecie przerobić mi poniższy formularz kontaktowy, tak aby podczas wysyłania wiadomości wysyłał IP i host nadawcy oraz żeby obsługiwał polskie litery, a nie, że "Ś" to coś w stylu 'krzaczków' :expressionless: Aha i jeszcze, żeby nadawca mógł samemu wpisać temat + żeby dopisywało automatycznie "formularz WWW" do tematu. Z góry bardzo dziękuję.

<?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]

EDIT@

I jak możecie, to dodajcie jeszcze, żeby obowiązkowo w polu adres email był znak "@" i coś przed nim i po nim :smiley: wiecie o co mi chodzi


(L337 Crew) #2

http://php.net.pl/manual/pl/reserved.va ... les.server

IP: $_SERVER['REMOTE_ADDR']

host: $_SERVER['REMOTE_HOST']

http://php.net.pl/manual/pl/function.mail.php

mail ( string $do, string $temat, string $treść [, string $dodatkowe_nagłówki [, string $dodatkowe_parametry]] )

mail("joecool@example.com", "Temat listu", "Linia 1\nLinia 2\nLinia 3");

Np. dopisz mu w nagłówkach

$naglowki = "MIME-Version: 1.0\r\n";

      $naglowki .= "Content-type: text/html; charset=iso-8859-2\r\n";

      $naglowki .= "From: gg505 \r\n";
if(!ereg ("^.+@.+\..+$", $_POST['email']))

echo 'Podano niepoprawny adres e-mail
';

(Gg505) #3

Mam prośbę, możesz to połączyć w całość bo ja dopiero mam swoje początki z HTML i PHP .. :frowning: I jak byś mógł to jeszcze dodaj do tego zabezpieczenie przeciwko botom :slight_smile:


(Kaka') #4

gg505

Rejestrując się na niniejszym forum zobowiązałeś się przestrzegać jego regulaminu. Niestety, w tym momencie łamiesz go nie tytułując poprawnie tematu. Proszę więc zapoznać się w pierwszej kolejności z całym regulaminem forum, a następnie używając przycisku zmien.gif

W przypadku zignorowania prośby temat poleci do śmietnika oraz mogą zostać wyciągnięte konsekwencje w postaci ostrzeżenia.