InfoPage.pl » Formularz kontaktowy w php na Twojej stronie. » Moje porady dla ludzi z netu
   InfoPage - strona główna bloga InfoPage - Lista artykułów znajdująca się na moim blogu InfoPage - zmiana adresu mojego bloga InfoPage - zmiana layoutu mojego bloga Infopage - linki do zaprzyjaźnionych stron
top
Powiększ tekst:

Formularz kontaktowy w php na Twojej stronie.

April 21st, 2009, 12:21 @ PHP, Strony www
0 votes

Mail to takie fajne urządzenie. Dzięki niemu można komunikować się z innymi użytkownikami globalnej sieci nie wychodząc z domu. Wystarczy wprowadzić adres odbiorcy, tytuł wiadomości i jej treść. Na końcu należy kliknąć klawisz: “wyślij”. W tym momencie wiadomość jest dostarczona na adres odbiorcy.

Spotykam bardzo dużo stron z zaimplementowanym formularzem kontaktowym, więc pomyślałem, że wyszukam przykładowy formularz i umieszczę go na moim blogu.

UWAGA! Jest to formularz, któr nie posiada zabezpieczeń!

jeśli się zdecydujesz na użytkowanie tego formularz, to radzę, abyś poprawił bezpieczeństwo, sprawdzając dane wprowadzane przez użytkoweników formularza!

Przejrzałem kilka i wybrałem najprostszy:

<?php
if(empty($_POST[‘submit’])){
?>
<table border=”0″ cellpadding=”0″ cellspacing=”0″>
<form action=”adres_formularza.php” method=”post”>
<tr><td class=”dane”>imię:</td>
<td><input type=”text” name=”imienazwisko” style=”width:300px;”/></td>
</tr><tr>
<td class=”dane”>e-mail:</td>
<td><input type=”text” name=”email” style=”width:300px;”/></td>
</tr><tr>
<td class=”dane”>treść<br>wiadomości:&nbsp;</td>
<td><textarea name=”trescwiadomosci” style=”height:150px;width:300px;”></textarea></td>
</tr><tr>
<td>&nbsp;</td>
<td><input type=”submit” name=”submit” value=”wyślij maila”/></td>
</form></tr>
</table>
<?php
}elseif(!empty($_POST[‘imienazwisko’]) && !empty($_POST[’email’]) && !empty($_POST[‘trescwiadomosci’])){
/* Funkcja sprawdzająca poprawność E-Maila */
function SprawdzEmail($email) {
if (!eregi(“^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$” , $email)){
return false;
}
return true;
}
if(SprawdzEmail($_POST[’email’])){
/* Tworzymy szkielet wysyłanej wiadomości */
$adresemail=”adres@mailowy.pl”;
$ip=$_SERVER[‘REMOTE_ADDR’];
$host=gethostbyaddr($_SERVER[‘REMOTE_ADDR’]);
$wiadomosc=”Od: $_POST[imienazwisko] ($_POST[email])\nIP: $ip, HOST: $host\n\n$_POST[trescwiadomosci]”;
$nadawca=”From: $_POST[email]”;
@mail($adresemail, “Formularz kontaktowy”, “$wiadomosc”, “$nadawca”) or die(‘Formularz nie został wysłany’);
echo “Dziękuję, mail został wysłany.”;
}else{ echo “Wprowadzony adres e-mail jest niepoprawny”; }
}else{ echo “Wypełnij wszystkie pola formularza”; }
?>

Plik do pobrania: tu. Proszę zmienić jego nazwę na np.: “kontakt.php”.

W miejsce: “adres@mailowy.pl” należy wpisać adres mailowy, na który mają być dostarczane maile od użytkowników.

W miejsce: “<form action=”adres_formularza.php” method=”post”>” należy wpisać nazwę tego formularza na przykład kontakt.php.

Miłego mailowania :)



17 odpowiedzi do “Formularz kontaktowy w php na Twojej stronie.”

  1. Sebastian Says:

    Coś ten formularz nie działa :(

  2. admin Says:

    Sciągnij, proszę kod w postaci zipa, ktory jest także zamieszczony na tej stronie.

  3. Sebastian Says:

    OK, ściągnąłem… a jak to umieścić na stronie WWW ???
    Bo tam w pliku jest część HTML i część PHP… można to rozbić? Jeśli tak, to w jaki sposób?

  4. galeria zdjęć Says:

    Jeśli Twój serwer obsługuje PHP, to wystarczy przegrać plik na serwer i go uruchomić. Jeśli nie obsługuje, to nie zadzaiła powyższy skrypt.

  5. Hester Says:

    Dzięki wystarczy edytować trochę i git ;P

  6. gość Says:

    witam. Formularz prosty, to prawda, jak budowa cepa, ale co z ochroną przesyłanych danych i ich filtracją ? delikatnie rzecz ujmując w 15 sek. jestem bez wysiłku zalogowany jako admin :-)))

  7. Admin Says:

    Jako admin, ale do czego? Do serwera?
    PS. Podaj proszę rozwiązanie. Przyda się w przyszłości 😉

  8. Reklamodawca Says:

    korzysta z metody post ?? bo mi wywala że nie może wysłać z taką informacją a serwer obsługuje.

  9. katalog Says:

    Działa metodą post. Spróbuj pobrać wersję z pliku (poniżej KODu), bo ten word press to porażka.

  10. skot Says:

    Witam. Wszystko działa, ale co zrobić, aby potwierdzenie wysłania wiadomości pojawiało się na tej samej stronie, a nie na nowej?

  11. moderowany katalog stron Says:

    Zerknij na linię:

    form action=”adres_formularza.php” method=”post”

    Formularz odwołuje się do pliku: “adres_formularza.php”.

    Wystarczy nazwać plik, w którym się znajduje cały kod skryptu na “adres_formularza.php”. Strona przeładuje się bez problemu i wyśle maila.

  12. vonski Says:

    Nie sprawdzasz w ogóle danych wysyłanych przez użytkownika, z tego względu skrypt jest krótko mówiąc dziurawy, więc pasuje albo to dorobić, albo uprzedzić na samym początku żeby ten kto sobie ten skrypt ściągnie, sam to dorobił :) Poza tym funkcja eregi jest funkcją przestarzałą dlatego nie jest zalecane jej używanie. Jeśli na serwerze jest włączone wyświetlanie warningów, zostanie wygenerowane ostrzeżenie: E_DEPRECATED – zamiast tego użyj preg_match. Generalnie skrypt do poprawy :)
    Życzę powodzenia i pozdrawiam.

  13. admin Says:

    Dodałem ostrzeżenie na początku postu. Dziękuję @vonski za informacje.

  14. rychu Says:

    a umiał by ktoś połączyc ten formularz aby wiadomość była wysyłana np. na gg. ?

  15. malyjoke Says:

    Czesc
    wczesniej formularz dzialal ok ale po autulizacji php na 5.3 nie wiem jak zmienic to:
    formularz kontaktowy – wczesniej bylo ok, po aktualizacji php na servie

    a teraz jak wysle:

    Deprecated: Function eregi() is deprecated in /home/mjdesign/domains/mjdesign.upares.pl/public_html/kontakt.php on line 26
    Dziękuję, mail został wysłany.

    linia 26:

    if (!eregi(“^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$” , $email)){

  16. Piotr Says:

    Witajcie u mnie pobieram kod zmieniam na moj email zeby wysylal i jak robie test z wyslanie m to wyskakuje Not Found

    The requested document was not found on this server. co moze być

  17. katalog Says:

    Nazwałeś plik: adres_formularza.php Jeśli nie, to nie przeładuje się skrypt. Można tez kod: form action=?adres_formularza.php? zamienić na form action=”” to przeładuje się ten sam skrypt. A najlepiej nie kopiować tego skryptu tylko pobrać pliczek dołączony do tego posta.

Zostaw komentarz:

Komentarze są moderowane, nie wysyłaj więc jednego komentarza kilka razy...