Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

ROZWIĄZANY: Formularz kontaktowy - rozwijana lista


max656

Rekomendowane odpowiedzi

Witam, czy ktoś z Forumowiczów otarł się kiedyś o kod do formularza kontaktowego, troszkę bardziej zaawansowanego?

Nie chodzi mi tu bynajmniej o coś takiego, lecz aby ów formularz miał w opcji Temat rozsuwaną listę pozycji np.:

Pozycja 1

Pozycja 2

Pozycja 3

Odnośnik do komentarza
Udostępnij na innych stronach

Znalazłem taki kod:

<?php

if(empty($_POST['submit'])){

?>

<form action="NAZWA_STRONY.php" method="post"> <!--nazwa strony na której znajduje się formularz-->

Wybierz gdzie wysłać:<br />

<select name="odbiorca" style="width:300px;">

<option>adres@email_1</option>

<option>adres@email_2</option>

<option>adres@email_3</option>

</select>

<br />

Imię i Nazwisko:<br />

<input type="text" name="imienazwisko" style="width:300px;"/><br />

E-Mail:<br />

<input type="text" name="email" style="width:300px;"/><br />

Treść wiadomości:<br />

<textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px;"></textarea><br />

<input type="submit" name="submit" value="Wyślij formularz"/> 

<input type="reset" value="Wyczyść"/>

</form>

<?php

/*sprawdzenie wypełnienia wszystkich pól*/

}elseif(!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){

/* Funkcja sprawdzająca poprawność E-Maila */

function SprawdzEmail($email) {

if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){

return false;

}

return true;

}

if(SprawdzEmail($_POST['email'])){

/* Tworzymy szkielet wysyłanej wiadomości */

$adresemail=$_POST['odbiorca'];

$ip=$_SERVER['REMOTE_ADDR'];

/* Wybierz kodowanie znaków usuwając // */

//$charset = 'iso-8859-2';

//$charset = 'utf-8';

$host=gethostbyaddr($_SERVER['REMOTE_ADDR']);

$wiadomosc="Od: $_POST[imienazwisko] ($_POST)\nIP: $ip, HOST: $host\n\n$_POST[trescwiadomosci]";

$nadawca="From: $_POST";

@mail($adresemail, "Formularz kontaktowy z www.NAZWA_SERWISU.pl", "$wiadomosc", "$nadawca");

echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>";

}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }

}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>"; }

?>

Ten kod jest z opcją wyboru odbiory. Potrzebowałbym przerobienia aby opcją wyboru był temat a nie odbiorca. Czy jest ktoś w stanie podjąć się takiej modyfikacji?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Po długim okresie poszukiwań coś znalazłem. Formularz nie jest z rowzwijaną listą menu. Posiada 3 pola opcji do wypełnienia: Imię i Nazwisko, adres e-mail oraz treść.

Jest to wersja dla tych osób, które tworzą w pliku .htm bądź .html.

To wrzucamy do pliku .htm/.html

<table border="0"><form method="post" action="wyslij.php">
                                      <tr>
                                          <td>Imię i nazwisko</td>
                                          <td><input type="text" name="imie" style="width: 300px" /></td>
                                      </tr>
                                      <tr>
                                          <td>Adres e-mail</td>
                                          <td><input type="text" name="email" style="width: 300px" /></td>
                                      </tr>
                                      <tr>
                                          <td>Treść wiadomości</td>
                                          <td><textarea name="tresc" style="width: 300px; height: 100px"></textarea></td>
                                      </tr>
                                      <tr>
                                          <td> </td>
                                          <td><input type="submit" name="submit" value="Wyślij" /> 
                                          <input type="reset" value="Wyczyść" /></td></form>
                                          </tr>
      </table>

Później musimy utworzyć plik o nazwie wyslij.php :

	<?php
if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
   $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
   $header = "From: $_POST[imie] <$_POST[email]>";
   @mail("[email protected]","Wiadomość z Forum","$message","$header")
   or die('Nie udało się wysłać wiadomości');
   echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
}
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
?>

Na zdrowie!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.