Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Nadawca w formularzu kontaktowym
ar4
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 10.11.2010
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam,
mam formularz kontaktowy, ale nie wiem jak zrobić aby po wysłaniu z niego wiadomości jako nadawca znajdował się email osoby nadającej wiadomość. Teraz jak otrzymam wiadomość z formularza mam ją wysłaną z konta hostingowego, a więc nie mogę na niego odpowiedzieć. Chciałbym, aby po kliknięciu w odpowiedź jako adres email był od razu adresem osoby nadającej wiadomość.
Nie wiem czy udało mi się wytłumaczyć mój problem, ale mam na dzieję, że tak...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zakładam, że korzystasz z funkcji mail. W dokumentacji masz przykład jak to zrobić. Szukaj "From" oraz "Reply-To".
Go to the top of the page
+Quote Post
ar4
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 10.11.2010
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $wyslana=not;
  3. if (count($_POST))
  4. {
  5. ////////// USTAWIENIA //////////
  6. $email = 'domena@domena.pl'; // Adres e-mail adresata
  7. $subject = 'tytul'; // Temat listu
  8. $message = 'Dziękujemy za wysłanie formularza'; // Komunikat
  9. $error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
  10. $charset = 'utf-8'; // Strona kodowa
  11. //////////////////////////////
  12.  
  13. $head =
  14. "MIME-Version: 1.0\r\n" .
  15. "Content-Type: text/plain; charset=$charset\r\n" .
  16. "Content-Transfer-Encoding: 8bit";
  17. $body = '';
  18. foreach ($_POST as $name => $value)
  19. {
  20. if (is_array($value))
  21. {
  22. for ($i = 0; $i < count($value); $i++)
  23. {
  24. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  25. }
  26. }
  27. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  28. }
  29. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  30.  
  31. $wyslana=ok;
  32. if ($wyslana==ok){header("location:http://domena.pl");}
  33. }
  34. else
  35. {
  36. ?>
  37.  
  38. <form action="?" method="post">
  39.  
  40. <div class="box">
  41.  
  42. <label><span><input type="checkbox" name="zaznacz" value="0" class="ck" /></span> Tak, chcę Fakturę VAT oraz usługę w cenie 349 złotych brutto.</label>
  43. <label><span>Imię:</span> <input type="text" name="imie" class="wpis" /></label>
  44. <label><span>Nazwisko:</span> <input type="text" name="nazwisko" class="wpis" /></label>
  45. <label><span>Nazwa firmy:</span> <input type="text" name="firma" class="wpis" /></label>
  46. <label><span>Ulica i nr.:</span> <input type="text" name="ulica" class="wpis" /></label>
  47. <label><span>Kod i miasto:</span> <input type="text" name="miasto" class="wpis" /></label>
  48. <label><span>NIP:</span> <input type="text" name="nip" class="wpis" /></label>
  49. <label><span>E-mail:</span> <input type="text" name="emial" class="wpis" /></label>
  50. <label><span>Strona www:</span> <input type="text" name="strona_www" class="wpis" /></label>
  51. <label><span>Słowa kluczowe:</span> <input type="text" name="slowa_kluczowe" class="wpis" /></label>
  52. <label><span>Dodatkowe informacje:</span><textarea name="tresc" class="wiadomosc" cols="20" rows="10"></textarea></label>
  53. <input type="submit" class="button" value="Wyślij" />
  54.  
  55. </div>
  56. </form>
  57. <?php
  58. }
  59. ?>



To co muszę i gdzie muszę dodać? Znalazłem to co pisałeś wcześniej, ale nie wiem jak pobrać adres email z tego inputa i wrzucić do do wiadomości.
Czy może mi ktoś z tym pomóc?
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Do zmiennej $head dorzuć From + Reply-To (wzór w dokumentacji) z adresem e-mail, który będziesz miał w $_POST['emial'] (literówka zamierzona - tak masz w formularzu).
Go to the top of the page
+Quote Post
ar4
post
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 10.11.2010
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam,
dodaję kod do head, ale wywala mi białą stronę..
Czy to powinno wyglądać tak?

  1. $head =
  2. "MIME-Version: 1.0\r\n" .
  3. "From: email@domena.pl" . "\r\n" .
  4. "Reply-To: $_POST['emial']" . "\r\n" .
  5. "Content-Type: text/plain; charset=$charset\r\n" .
  6. "Content-Transfer-Encoding: 8bit";


A dodatkowo można jakoś dodać numerację +1 do każdego wysłanego emaila. Chodzi o tytuł, aby nosił nazwę: "Nazwa tytułu wiadomości 1" - gdzie 1 zmienia się na +1 przy każdej wysłanej wiadomości?
Go to the top of the page
+Quote Post
ar4
post
Post #6





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 10.11.2010
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Poradziłem sobie... Dodałem taką linijkę:

  1. 'From:'.$_POST['emial']."\r\n".


Czyli wygląda to tak:
  1. "MIME-Version: 1.0\r\n" .
  2. 'From:'.$_POST['emial']."\r\n".
  3. "Content-Type: text/plain; charset=$charset\r\n" .
  4. "Content-Transfer-Encoding: 8bit";


Pozostaje jeszcze tylko kwestia numeracji przy tytule wiadomości.
Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Nie jest zalecane aby w nagłówek FROM dodawać e-mail nadawcy bo w ten sposób powodujesz, że niektóre skrzynki pocztowe będą ostrzegać, że mogło dojść do podszywania się (bo w pewnym sensie to jest podszycie się od strony technicznej).
Użyj tylko reply-to, skutek ten sam bez zbędnych alertów.

Co do numeracji można do tego podejść na milion sposobów.
Choćby zapisywać gdzieś (plik, baza) numer ostatniej wiadomości i przy wysyłaniu zwiększać o jeden i dodawać do tytułu - ot cała filozofia.
Szczerze nie wiem czemu miałoby to służyć.


--------------------
Go to the top of the page
+Quote Post
ar4
post
Post #8





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 10.11.2010
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Numeracja ma służyć temu, aby wiedział który email to który. Formularz jaki posiadam służy do składania zamówień, a więc numer miałby służyć łatwej identyfikacji zlecenia. Wtedy mógłbym otrzymywać wiadomość z tytułem np. Zlecenie nr 10
Czy możesz pomóc stworzyć coś takiego bez wykorzystywania bazy danych?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 15:50