Skocz do zawartości

Problem: Formularz kontaktowy w PHP


Rekomendowane odpowiedzi

Napisano

Witam.

Mam formularz napisany w php, ktory uzywa funkcji @mail zeby wysłać list na maila :)

ALE

Wrzucałem go na 3 serwery (bitmar.net , etap.pl , active24.pl)

I działa tylko na bitmar.net na pozostałych wywala że nie udalo sie wysłać wiadomości.

Wiecie może czy to jest spowodowane ?

co mam zrobić ?

 

tutaj kod formularza:


//sprawdzamy czy formularz zostal wyslany
if ($_POST['wyslany'] == "tak")
{

// sprawdzamy, czy zmienne przeslane z formularza nie sa puste
if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['adresfirmy']) && !empty($_POST['nip']) && !empty($_POST['telefon']) && !empty($_POST['nazwafirmy'])) {
   // jezeli powyzszy warunek jest spelniony tworzona jest wiadomosc
   // zmienna $message zawiera tresc wiadomosci
   $message = "Treść wiadomości:\n$_POST[tresc]\n\n

Wysłał: $_POST[imie]\n\n

e-mail: $_POST[email]\n\n

telefon: $_POST[telefon]\n\n

nazwa firmy: $_POST[nazwafirmy]\n\n

adres firmy: $_POST[adresfirmy]\n\n

NIP: $_POST[nip]";
   // zmienna $header zawiera przede wszystkim adres zwrotny
   $headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "MIME-Version: 1.0\r\n"; 
   $headers .= "From: $_POST[imie] \r\nContent-type: text/html; charset=utf-8\r\n";

   // funkcja mail() za pomoca której wiadomosc zostanie wyslana

   mail("[email protected]","Formularz kontaktowy - InterCars","$message","$headers")
   or die('Nie udało się wysłać wiadomości');
   // wyswietlenie komunikatu w przypadku powodzenia
   echo "Wiadomość została wysłana poprawnie!";
   $wiadomosc_wyslana = "poprawnie";
}
// lub w przypadku nie wypelnienia formularza do konca
else echo "Wypełnij wszystkie pola formularza!";

}

if ($wiadomosc_wyslana != "poprawnie")

{

echo "
Imię i nazwisko



Nazwa firmy



Adres firmy



NIP



Telefon



Adres e-mail



Treść wiadomości




 




";

}

?>

 

 

EDIT:

Dowiedziałem sie ze serwer ma zablokowaną funkcje mail

w takim razie, jak to obejśc zeby dzialalo ?

  • Odpowiedzi 1
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Napisano

Z tego co pamiętam, serwer musi mieć włączoną obsługę tej funkcji.

Jeśli administratorzy tych dwóch serwerów ją wyłączyli, nie wyślesz maila.

 

Jeśli musisz mieć stronkę na tych serwerach, możesz umieścić ten jeden plik wysyłający maila na serwerze, który to umożliwia.

 

[+]

 

Robisz tak, jak pisałem:

Utwórz plik php, powiedzmy sendMail.php, w którym wywołasz funkcję mail:

  mail ($_POST['adres'], "temat",  $_POST['message'], $_POST['headers']);
?>

i umieść go na serwerze, z którego można wysyłać maile.

 

Natomiast w tym pliku z formularzem posprawdzaj wszsytkie zmienne i jeżeli wszystko gra, wyślij te dane do pliku z funkcją mail: http://serwer_z_włączoną_obsługą_funkcji_mail/folder/sendMail.php

 

Możesz to oczywiście zrobić wszystko w jednym pliku, tak jak masz teraz, tylko cały ten plik umieść na powyższym serwerze.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności