Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wysylaniem wiadomosci ze strony www
Forum PHP.pl > Forum > Przedszkole
Kubacci
Witam szanownych kolegow.
Na wstepie pragne jeszcze raz podziekowac za pomoc jaka otrzymalem na tym forum przy poprzednim problemie.
Niestety jestem zmuszony zwrocic sie ponownie do madrzejszych w dziedzinie.
Tym razem problem dotyczy wysylania wiadomosci z poziomu strony. Jest to flashowa stronka ze standardowym (chyba) elementem 'napisz do mnie'.
(www.kubadesign.pl)
A teraz do rzeczy: wypelniajac pola imie, adres, temat oraz tresc, po nacisnieciu 'wyslij' na moim koncie pojawia sie mail:

Imie:
E-mail:
Temat:

Z czego 'from' w naglowku widnieje puste, a 'subject': from

Na serwerze w glownym katalogu mam plik PHP o nazwie 'contact' ktorego tresc przedstawia sie nastepujaco:
[php]
JoShiMa
A nie powinieneś używać tablicy $_POST zamiast $_GET. Najwyraźniej w $_GET nie ma żadnych danych. Nie wiem jaka jest konstrukcja formularza, którego używasz, ale standardowo formularze przesyłają dane metodą POST a więc umieszczają je w tablicy $_POST.
Kubacci
Czyli tak dla zielonego: sprobowac zamienic wszystkie GET na POST?
JoShiMa
Cytat(Kubacci @ 30.10.2008, 13:23:10 ) *
Czyli tak dla zielonego: sprobowac zamienic wszystkie GET na POST?

Tak by wypadało smile.gif a najlepiej sobie wyprintować całą tabelę $_POST i sprawdzić czy są jakies pola i jak się nazywają.
Kubacci
Zamienilem GET na POST i do tego sprawdzilem variables we flashowym pliku. Wnioski: mialem wpisane zle variables, teraz przepisalem je z flasha oraz GET trzeba bylo zamienic na POST.
Mail przychodzi wszystko fajnie, niestety doklada mi nastepujace czlony:

Imie: Zbigniew&777&Your Name:
E-mail: zbigniew@onet.pl&777&Your Email:
Temat: Probowanie maila&777&Address:

Tutaj tresc maila smile.gif&777&Message:

Caly contact wyglada teraz tak:
  1. <?php
  2.    
  3.    $your_name = $_POST['your_name'];
  4.    $your_email = $_POST['your_email'];
  5.    $your_topic = $_POST['address'];  
  6.    $your_message = $_POST['message'];  
  7.    
  8.    $recipient_email = "[email="info@kubadesign.pl"]info@kubadesign.pl[/email]";
  9.    
  10.    $subject = $your_topic;
  11.    $headers = "From: " . $your_name . " <" . $your_email . ">\n";
  12.    $headers .= "Content-type: text/html; charset=iso-8859-2 r\n";
  13.  
  14.    $content = "<html><head><title>Mail kontaktowy</title></head><body><br>";
  15.    $content .= "Imie: <b>" . $your_name . "</b><br>";
  16.    $content .= "E-mail: <b>" . $your_email . "</b><br>";
  17.    $content .= "Temat: <b>" . $your_topic . "</b><br><hr><br>";
  18.    $content .= $your_message;
  19.    $content .= "<br></body></html>";      mail($recipient_email,$subject,$content,$headers);
  20. ?>
  21. <html>
  22.    <body bgcolor="#192025">
  23.        <div align="center" style="margin-top:60px;color:#7D8E9C;font-size:13px;font-family:Arial;font-weight:bold">
  24.            Wiadomość została wysłana.<br>Dziękujemy.
  25.        </div>
  26.    </body>
  27. </html>
  28. <script>resizeTo(300, 200)</script>
JoShiMa
To zrób sobie filtr i wycinaj to co zaczyna się od &777&
Kubacci
hmmm brzmi swietnie smile.gif gorzej ze nie mam pojecia jak
nevt
proszę dodać odpowiednie tagi do tematu zgodnie z zasadami publikacji w Przedszkolu, w przeciwnym razie poleci ostrzeżenie.
Kubacci
Czytalem podeslane linki i podjalem probe z substr. niestety przy mojej znajomosci php a raczej kompletnej jego nieznajomosci d... zbita z tego wyszla sad.gif
probowalem wprowadzic np:
  1. <?php
  2. $rest = substr($your_name, 0, -1);
  3. ?>


Nie wyskoczyly zadne bledy po wprowadzeniu takich linijek (zrobilem to samo z tematem, adresem i trescia) ale efektow nie ma i dalej mail ma doklejone &777&....

Co zle robie?
golaod
Ktoś Ci bardzo ciekawie doradził... Skoro są to te same znaki to robisz to str_replace
str_replaca('jaki_znak','na_jaki_zamienic',$zmienna)
Można też dawać tablice. poza tym odsyłam do manuala na php.net
Kubacci
Zawzialem sie i mimo kompletnej zielonosci oraz metodzie prob i bledow udalo mi sie wszystko naprawic smile.gif
Dziala jak ta lala biggrin.gif
Wyglada to tak:

Imie: Zbigniew
E-mail: zbigniew@onet.pl
Temat: temacik

proba maila

  1. <?php
  2.    
  3.    $your_name = $_POST['your_name'];
  4.    $your_email = $_POST['your_email'];
  5.    $your_topic = $_POST['address'];  
  6.    $your_message = $_POST['message'];
  7.    
  8.    $recipient_email = "[email="info@kubadesign.pl"]info@kubadesign.pl[/email]";
  9.    
  10.    $subject = $your_topic;
  11.    $subject = str_replace('&777&Address:','',$subject);
  12.    $headers = "From: " . $your_name . " <" . $your_email . ">\n";
  13.    $headers = str_replace('&777&Your Name','',$headers);
  14.    $headers .= "Content-type: text/html; charset=iso-8859-2 r\n";
  15.    
  16.    $content = "<html><head><title>Mail kontaktowy</title></head><body><br>";
  17.    $content .= "Imie: <b>" . $your_name . "</b><br>";  
  18.    $content .= "E-mail: <b>" . $your_email . "</b><br>";
  19.    $content .= "Temat: <b>" . $your_topic . "</b><br><hr><br>";
  20.    $content .= $your_message;
  21.    $content = str_replace('&777&Your Name:','',$content);
  22.    $content = str_replace('&777&Your Email:','',$content);
  23.    $content = str_replace('&777&Address:','',$content);
  24.    $content = str_replace('&777&Message:','',$content);
  25.    $content .= "<br></body></html>";
  26.    
  27.    mail($recipient_email,$subject,$content,$headers);
  28.      
  29. ?>
  30. <html>
  31.    <body bgcolor="#192025">
  32.        <div align="center" style="margin-top:60px;color:#7D8E9C;font-size:13px;font-family:Arial;font-weight:bold">
  33.            Wiadomość została wysłana.<br>Dziękujemy.
  34.        </div>
  35.    </body>
  36. </html>
  37. <script>resizeTo(300, 200)</script>


Zaangazowanym w pomoc dziekuje i pozdrawiam!
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.