Mam taki kod w formularzu kontaktowym:
<?
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) { // wyświetlamy formularz
echo "<form action="kontakt
.html
" method="post
"> <table width="100%" cellpadding="6" cellspacing="0" border="0"> <tr>
<td width="15%" align="right">
<b>Imię:</b>
</td>
<td width="85%" align="left">
<input type="text" name="imie" size="50" maxlength="120" class="kontakt">
</td>
</tr>
<tr>
<td width="15%" align="right">
<b>E-mail:</b>
</td>
<td width="85%" align="left">
<input type="text" name="email" size="50" maxlength="120" class="kontakt">
</td>
</tr>
<tr>
<td width="15%" align="right">
<b>Temat:</b>
</td>
<td width="85%" align="left">
<input type="text" name="temat" size="50" maxlength="120" class="kontakt">
</td>
</tr>
<tr valign="top">
<td width="15%" align="right">
<b>Treść:</b>
</td>
<td width="85%" align="left">
<textarea rows="6" style="width: 420px" name="tresc" class="kontakt"></textarea>
</td>
</tr>
<tr valign="top">
<td width="15%"></td>
<td width="85%" align="left">
<input type="submit
" value="Wyślij
" class="kontakt
"> <input type="reset" value="Wyczyść
" class="kontakt
"> </td>
</tr>
</table>
</form>
";
}
// sprawdzamy, czy zmienne przesłane z formularza nie są puste
elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['temat']) && !empty($_POST['email'])) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$temat = $_POST[temat];
$message = "$_POST[tresc]nn----------------------nImię: $_POST[imie] E-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("moj_mail@com.pll","$temat","$message","$header") or
die('Niestety, nie udało się wysłać wiadomości.'); // wyświetlenie komunikatu w przypadku powodzenia
echo "<div align="center
"><strong>Wiadomość została wysłana. Dziękujemy za kontakt. Postaramy się odpowiedzieć
możliwie jak najprędzej.</strong></div>"; }
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style="text
-align
: center
;">Prosimy wypełnić wszystkie pola formularza.</span>";
?>
Includuję to do pliku, w którym są inne funkcje php - aby całą stronę "obrać w całość", czyli dodać menu i inne dostępne elementy. Korzystam z mod_rewrite, a adresy mają postać np.
kontakt.html - jednak jak wykonuję ten skrypt, to naciśnięciu przycisku "Wyślij" strona zwyczajnie przeładowuje się, nie wysyła żadnego maila, nic nie działa - tak jakby był to pusty formularz... Próbowałem też zmienić rozszerzenia na .php i spróbować spod rozszerzeń .php, ale także nic - nadal zwyczajnie przeładowuje stronę, więc to chyba raczej nie są problemy mod_rewrite? Co jest nie tak w tym kodzie?