Mam formularz kontaktowy tylko nie wiem jak ustawić żeby informacja o wysłaniu wiadomości pojawiała się na tej stronie co formularz (najlepiej nad formularzem) a nie otwierała się nowa strona z samym napisem że wysłany poprawonie. Wiem że powinno być to zrobione przez JS tylko że nie mam pojęcia nic o JS dlatego bardzo bym prosił czy ma ktoś gotowy skrypt oraz o informacje jak zmodyfikować kod żeby działało to poprawnie.
Kod HTML
<?php
<table class="form_kont" align="center"><form method="post" action="kontakt.php" name="kontakt">
<tbody>
<tr>
<td valign="top">
<table cellpadding="3" cellspacing="3">
<tbody>
<tr><td class="form_kont_td1">Adresat:</td></tr><tr><td class="form_kont_td2"><select name="adresat" style="width: 450px">
<option value="#">Wybierz adresata</option>
<option value="email1@email.eu">email 1</option>
<option value
="email2@email.eu">e
-mail 2
</option
> </td></tr>
<tr><td class="form_kont_td1">Imię i nazwisko:</td></tr><tr><td class="form_kont_td2"><input type="text" maxlength="50" name="imie" style="width: 450px"></td></tr>
<tr
><td
class="form_kont_td1">E
-mail:</td
></tr
><tr
><td
class="form_kont_td2"><input type
="text" maxlength
="50" name
="email" style
="width: 450px"></td
></tr
> <tr><td class="form_kont_td1">Temat:</td></tr><tr><td class="form_kont_td2"><input type="text" maxlength="50" name="temat" style="width: 450px"></td></tr>
<tr><td class="form_kont_td1">Treść wiadomości:</td></tr><tr><td class="form_kont_td2"><textarea name="tresc" rows="5" style="width: 450px; height: 100px"></textarea></td></tr>
<tr><td><input type="submit" name="submit" value="Wyślij wiadomość" /> <input type="reset" value="Wyczyść" ></td><input type="hidden" name="wyslany" value="tak"></tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</form>
</table>
?>
Kod PHP
<?php
//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['temat'])) { // jezeli powyzszy warunek jest spelniony tworzona jest wiadomosc
// zmienna $message zawiera tresc wiadomosci
$message = "<b>Imię i nazwisko</b>: $_POST[imie]\n\n<br><br><b>E-mail:</b> $_POST[email]\n\n<br><br><b>Temat:</b> $_POST[temat]\n\n<br><br><b>Treść wiadomości:</b>\n$_POST[tresc]\n\n<br><br>";
// zmienna $header zawiera przede wszystkim adres zwrotny
$headers .= "Content-type: text/html; charset=utf-8r\n";
$headers .= "MIME-Version: 1.0r\n";
$headers .= "From: $_POST[imie] <$_POST[email]>r\nContent-type: text/html; charset=utf-8r\n";
// funkcja mail() za pomoca której wiadomosc zostanie wyslana
mail("$_POST[adresat]","Formularz kontaktowy","$message","$headers") or
die('Nie udało się wysłać wiadomości'); // wyswietlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>"; $wiadomosc_wyslana = "poprawnie";
}
// lub w przypadku nie wypelnienia formularza do konca
else echo "<font face=\"Arial\" color=\"#FF0000\" size=\"4\">Wypełnij wszystkie pola formularza!</p>";
}
if ($wiadomosc_wyslana != "poprawnie")
?>
Ten post edytował adamma 17.07.2009, 20:43:02