Jump to content
Sign in to follow this  
SpartaN

Brak maila w skrzynce po wysłaniu formularza PHP

Recommended Posts

Witam, na mojej stronie umieszczam wszelkiego rodzaju formularze reklamowe i w dalszym ciągu wiadomości nei są wysyłane : 

http://spartancode.prv.pl/

 

Kod formularza :

 

<table>
<form action="send_form.php" method="post">
<tr>
  <td>Imię i Nazwisko:</td>
  <td><input type="text" name="formName"/></td>
</tr>
<tr>
  <td>E-Mail:</td>
  <td><input type="text" name="formEmail"/></td>
</tr>
<tr>
  <td>Treść wiadomości:</td>
  <td><textarea name="formText"></textarea></td>
</tr>
<tr>
  <td> </td>
  <td><input type="submit" name="submit" value="Wyślij formularz"/></td>
</tr>
</form>
</table>
<?php
//--- początek formularza ---
if(empty($_POST['submit'])) {
?>
<?php
} else {
//twoje dane
$email = 'kamil.lipski23@gmail.com';
//dane z formularza
$formName = $_POST['formName'];
$formEmail = $_POST['formEmail'];
$formText = $_POST['formText'];
if(!empty($formName) && !empty($formEmail) && !empty($formText)) {
//--- początek funkcji weryfikującej adres e-mail ---
function checkMail($checkmail) {
  if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) {
    if(checkdnsrr(array_pop(explode("@",$checkmail)),"MX")){
        return true;
      }else{
        return false;
      }
  } else {
    return false;
  }
}
//--- koniec funkcji ---
if(checkMail($formEmail)) {
  //dodatkowe informacje: ip i host użytkownika
  $ip = $_SERVER['REMOTE_ADDR'];
  $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  //tworzymy szkielet wiadomości
  //treść wiadomości
  $mailText = "Treść wiadomości:n$formTextnOd: $formName, $formEmail ($ip, $host)";
  //adres zwrotny
  $mailHeader = "From: $formName <$formEmail>";
  //funkcja odpowiedzialna za wysłanie e-maila
  @mail($email, 'Formularz kontaktowy', $mailText, $mailHeader) or die('Błąd: wiadomość nie została wysłana');
  //komunikat o poprawnym wysłaniu wiadomości
  echo 'Wiadomość została wysłana';
} else {
  echo 'Adres e-mail jest niepoprawny';
}
} else {
  //komunikat w przypadku nie powodzenia
  echo 'Wypełnij wszystkie pola formularza';
}
//--- koniec formularza ---
}
?>

 

Share this post


Link to post

Jakiś błąd się wyświetla czy po prostu maile nie są wysyłane? Usuń tą @ przed funkcją mail, bo nie wiesz do czego ona służy...

Share this post


Link to post
4 minuty temu, Salva napisał:

Jakiś błąd się wyświetla czy po prostu maile nie są wysyłane? Usuń tą @ przed funkcją mail, bo nie wiesz do czego ona służy...

Błąd: wiadomość nie została wysłana

Share this post


Link to post

Sprawdź czy w ogóle Twój darmowy hosting umożliwia wysyłanie maili funkcją mail(), bo wątpię.

Dodatkowo formularz na tabeli? Serio?

  • Like 1

Share this post


Link to post
11 minut temu, Salva napisał:

Sprawdź czy w ogóle Twój darmowy hosting umożliwia wysyłanie maili funkcją mail(), bo wątpię.

Dodatkowo formularz na tabeli? Serio?

Faktycznie, w hostingu trzeba było poustawiać kilka rzeczy. 

Co do formularza - pierwszy lepszy z neta ze względu na fakt, iż byłem bardzo poirytowany tym, że żaden nie działa  

Share this post


Link to post

Po co bezrozumnie kopiujesz jakiś kod i wklejasz na swoją stronę? Mogę się założyć, że 70% tego kodu nie rozumiesz albo nie wiesz jak działa. Lepiej zrób sobie coś według tutoriala : http://www.forumweb.pl/porady-i-tutoriale-www/php-formularz-kontaktowy-od-a-do-z,58405 albo poszukaj czegoś innego w necie, ale zrób to sam i odpowiednio podłącz.

Edited by DSA
  • Like 1

Share this post


Link to post

Ogólnie sam formularz w td tr odstrasza mordo. Robisz stronkę dosyć nową dezajnersko na te czasy a kodem wracasz do 2005

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Create a New Account. It’s free and easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×
×
  • Create New...