Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Informacja o wysłaniu wiadomości przez formularz kontaktowy
Forum PHP.pl > Forum > PHP
adamma
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

  1. <?php
  2. <table class="form_kont" align="center"><form method="post" action="kontakt.php" name="kontakt">
  3.                        <tbody>
  4.                             <tr>
  5.                                <td valign="top">
  6.                                <table cellpadding="3" cellspacing="3">
  7.                                <tbody>
  8.                    
  9.                                    <tr><td class="form_kont_td1">Adresat:</td></tr><tr><td class="form_kont_td2"><select name="adresat" style="width: 450px">
  10.                                        <option value="#">Wybierz adresata</option>
  11.                                        <option value="email1@email.eu">email 1</option>
  12.                                        <option value="email2@email.eu">e-mail 2</option>
  13.                                    </td></tr>
  14.                                    <tr><td class="form_kont_td1">Imi&#281; i nazwisko:</td></tr><tr><td class="form_kont_td2"><input type="text" maxlength="50" name="imie" style="width: 450px"></td></tr>
  15.                                    <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>
  16.                                    <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>
  17.                                    <tr><td class="form_kont_td1">Tre&#347;ć wiadomości:</td></tr><tr><td class="form_kont_td2"><textarea name="tresc" rows="5" style="width: 450px; height: 100px"></textarea></td></tr>
  18.                                    <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>
  19.        
  20.                                </tbody>
  21.                                </table>
  22.                                </td>
  23.                             </tr>
  24.                        </tbody>
  25.                    </form>
  26.               </table>
  27. ?>



Kod PHP

  1. <?php
  2.  
  3.        //sprawdzamy czy formularz zostal wyslany
  4.        if ($_POST['wyslany'] == "tak")
  5.        {
  6.  
  7.        // sprawdzamy, czy zmienne przeslane z formularza nie sa puste
  8.        if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['temat'])) {
  9.            // jezeli powyzszy warunek jest spelniony tworzona jest wiadomosc
  10.            // zmienna $message zawiera tresc wiadomosci
  11.            $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>";
  12.            // zmienna $header zawiera przede wszystkim adres zwrotny
  13.            $headers .= "Content-type: text/html; charset=utf-8r\n";
  14.            $headers .= "MIME-Version: 1.0r\n";  
  15.            $headers .= "From: $_POST[imie] <$_POST[email]>r\nContent-type: text/html; charset=utf-8r\n";
  16.            
  17.            // funkcja mail() za pomoca której wiadomosc zostanie wyslana
  18.            
  19.            mail("$_POST[adresat]","Formularz kontaktowy","$message","$headers")
  20.            or die('Nie udało się wysłać wiadomości');
  21.            // wyswietlenie komunikatu w przypadku powodzenia
  22.            echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  23.            $wiadomosc_wyslana = "poprawnie";
  24.        }
  25.        // lub w przypadku nie wypelnienia formularza do konca
  26.        else echo "<font face=\"Arial\" color=\"#FF0000\" size=\"4\">Wypełnij wszystkie pola formularza!</p>";
  27.  
  28.        }
  29.  
  30.        if ($wiadomosc_wyslana != "poprawnie")
  31.  
  32. ?>
robal94
nie wiem czy o to ci chodzi ale ja robie tak:
  1. <?php
  2. if(mail($adres, $tytul, $tresc, $naglowek))
  3.                        {
  4.                               echo 'Wiadomosc zostala wyslana';
  5.                        }
  6.                else{
  7.                    echo "Występił błąd! Przepraszamy";
  8.                    }
  9. ?>
adamma
Tylko że to co podałeś fo kod PHP a do mojego formularza z tego co mi wiadomo potrzebny jest JS/AJAX
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.