Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz ()mail itp. nie wysyła całości
Forum PHP.pl > Forum > Przedszkole
erO_
Witam!

Mam formularz wprowadzanie w pliku html:

  1. <div class="style1">
  2. <form action="skrypt_kontakt.php" method="post">
  3. &nbsp;&nbsp;&nbsp;&nbsp;<br />
  4. <span class="style2"><span class="style4">&nbsp;&nbsp; Imię i nazwisko </span></span>
  5. <input type="text" name="imie_nazwisko" /><br />
  6. <br />
  7. <span class="style3">&nbsp;&nbsp; E-mail zwrotny </span>
  8. <input type="text" name="e_mail" /><br />
  9. <br />
  10. <textarea name="content" cols="30" rows="6"></textarea>
  11. <br />
  12. <br />
  13. <input type="submit" value="Wyślij wiadomość" />
  14. </form>
  15. </div>


I skrypt żeby to słał:

  1. <?PHP
  2. $adresat = 'biuro@etyczne.com';
  3. @$imie_nazwisko = $_POST['imie_nazwisko'];
  4. @$e_mail = $_POST['e_mail'];
  5. @$content = $_POST['content'];
  6. $header = "From: strona@etyczne.com \nContent-Type:".
  7. ' text/plain;charset="iso-8859-2"'.
  8. "\nContent-Transfer-Encoding: 8bit";
  9. if (mail($adresat, 'etyczne.com - Kontakt', $content, $header))
  10. echo '<p>Wiadomość została wysłana</p>';
  11. else
  12. echo '<p>Problem z wysłaniem wiadomości, możesz ją wysłać indywidualnie na adres kontakt@apetyczne.com</p>';
  13. ?>


Wszystko ładnie śmiga, ale na maila wysyłane są tylko wartości z pola content reszta , czyli imie i nazwisko, oraz mail, nie , jak zrobić żeby było normalnie wysyłane w treści maila ? Oraz zamiast $header = "From: strona@etyczne.com \nContent-Type:". zdeklarować zmienną w imput żeby wklejana była w miejsce strona@etyczne.com.

Proszę o pomoc wciąż kombinuje i albo błąd albo jakaś maniana.... sciana.gif
filon

@$imie_nazwisko = $_POST['imie_nazwisko'];
@$e_mail = $_POST['e_mail'];
@$content = $_POST['content'];
$header = "From: strona@etyczne.com \nContent-Type:".
' text/plain;charset="iso-8859-2"'.
#
"\nContent-Transfer-Encoding: 8bit";
if (mail($adresat, 'etyczne.com - Kontakt', $content, $header))


popatrz tylko ze zapisujesz do zmiennej $email i imie_nazwisko ale nie wykorzystujesz ich podczas wysylania

przyklad z mojej funkcji wysylajacej

  1. elseif (!empty($_POST["tresc"]) && !empty($_POST["imie"]) && !empty($_POST["email"])) {
  2. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  3. // zmienna $message zawiera treść wiadomości
  4. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  5. // zmienna $header zawiera przede wszystkim adres zwrotny
  6. $header = "From: $_POST[imie] <$_POST[email]>";
  7. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  8. @mail("adres na ktory ma byc wyslany mail","Wiadomosc ze strony WWW","$message","$header")
  9. or die("Nie udało się wysłać wiadomości");
  10. // wyświetlenie komunikatu w przypadku powodzenia
  11. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie</strong></div>";
  12. }
erO_
Zgadza się też tak kombinowałem, ale jak zapisze to w ten sposób:

  1. "\nImie_nazwisko-Transfer-Encoding: 8bit";
  2. "\nE_mail-Transfer-Encoding: 8bit";
  3. if (mail($adresat, 'etyczne.com - Kontakt', $imie_nazwisko, $e_mail, $content, $header))


Niestety wyrzuca mi błąd...
filon
bo musi wyrzucac, masz za duzo zmiennych w tym wywolaniu
konstrukcja funkcji mail wyglada tak
  1. bool mail ( string $dokogo , string $temat , string $wiadomosc , string $naglowek wiadomosci )

popatrz na ta linie mojego kodu:
  1. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";


zrob tak zeby tutaj w jednej zmiennej bylo wszystko do wyslania a potem wyslij w zmiennej $content(u Ciebie)

przeanalizuj moj kod i podstaw pod swoj przyklad i bedzie ok
erO_
Nooo dzięki śmiga jak złotko smile.gif

  1. <?PHP
  2. $adresat = 'biuro@etyczne.com';
  3. @$content = "Treść wiadomości:\n$_POST[imie_nazwisko]\nWysłał: $_POST[e_mail]\ne-mail: $_POST[content]";;
  4. $header = "From: strona@etyczne.com \nContent-Type:".
  5. ' text/plain;charset="iso-8859-2"'.
  6. "\nContent-Transfer-Encoding: 8bit";
  7. if (mail($adresat, 'etyczne.com - Kontakt', $content, $header))
  8. echo '<p>Wiadomość została wysłana</p>';
  9. else
  10. echo '<p>Problem z wysłaniem wiadomości, możesz ją wysłać indywidualnie na adres kontakt@apetyczne.com</p>';
  11. ?>


Jeszcze pytanko jak zorbić żeby przychodziło z maila podanego w formularzu jak dałem

  1. $header = "From: $_POST[e_mail] \nContent-Type:".


To pokazuje adres serwera nie podany w formularzu.

Aha jeszcze jedno najważniejsze w sumie czy jest możliwość żeby po wysłaniu maila nie wywalało komunikatu

  1. echo '<p>Wiadomość została wysłana</p>';


Tylko przekierowywało na jakiś adres?
filon
co do pytania pierszego to tez zerknij do mojego kodu winksmiley.jpg i zauwaz roznice:

  1. $header = "From: $_POST[imie] <$_POST[email]>";


  1. $header = "From: $_POST[e_mail] \nContent-Type:".


co do drugiego:
zamiast
  1. echo '<p>Wiadomość została wysłana</p>';

daj
  1. header("Location: adres strony");
erO_
Dziękuje lata jak ta lala smile.gif trybialne pytania, ale jak się nauczę nie będę już takich zadawał ;>
filon
z czasem nauka sie zwroci winksmiley.jpg

Ps. nie trybialne a trywialne tongue.gif
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.