Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z mail()
Star
post
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Witam
Chce napisać prosty skrypt do wysyłania maili. Mam taki kod :
  1. $title = $_POST["nick"];
  2. $temat = "Od: $title";
  3. $wiadomosc = $_POST["message"];
  4. if (mail("costam@gmail.com",$temat, $wiadomosc ))
  5. {
  6. echo "mail został wysłany";
  7. }
  8. else
  9. {
  10. echo "mail  NIE został wysłany";
  11. }


Zmienna wiadomosc jest od pola textarea i nie wysyła mi w ogóle treści tego pola, mail dochodzi poprawnie lecz bez treści. Co może być tego przyczyną?
Go to the top of the page
+Quote Post
ghastblood
post
Post #2





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


  1. echo '<pre>';
  2. var_dump($_POST);
  3. echo '</pre>';
Go to the top of the page
+Quote Post
Star
post
Post #3





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Wyświetla poprawnie. Dodam że gdy dodałem jakiś tekst do textarea, np. <textarea >blabla</textarea> to gdy wpisze coś za tym tekstem, np blabla bla bla bla, to wysyła tylko ten tekst który był już wpakowany do textarea kodem html
Go to the top of the page
+Quote Post
ghastblood
post
Post #4





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


po 18 będę w domu to zobaczę na to dokładnie teraz jestem w pracy i siedzę na telefonie więc nie mam jak sprawdzić.

a czy server jest skonfigurowany pod SMTP ?
Go to the top of the page
+Quote Post
Star
post
Post #5





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Tak, wiadomości z pół input się wysyłają, nie chcą tylko z textarea
Go to the top of the page
+Quote Post
Gatzu
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.12.2014

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


Wydaje mi się, że gdyby nie był skonfigurowany pod SMTP, to by nie otrzymywał żadnego maila.

Być może problem tkwi w kodzie html. Np jakiś niedomknięty cudzysłów w textarea, ewentualnie zamiast

  1. $_POST["message"]
powinno być

  1. $_POST['message']
Go to the top of the page
+Quote Post
fate
post
Post #7





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


Wysyłasz maila od razu po wejściu na formularz a nie po kliknieciu w submit - to jest przyczyna, inputa od masz pewnie domyślnie uzupełnionego i nie zmieniasz w nim treści.
Go to the top of the page
+Quote Post
Kerth
post
Post #8





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


A przypisałeś wartość name do pola textarea tak samo jak to pewnie masz w input?

Przykład:
  1. <textarea name="contact" style="width:485px;height:250px; ">
Go to the top of the page
+Quote Post
Star
post
Post #9





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Kerth, oczywiście że mam ustawiona wartość name, gdybym nie miał to tekst który jest automatycznie wrzucony do textarea tez by się nie wysyłał.
Go to the top of the page
+Quote Post
Star
post
Post #10





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Fate, w jaki sposob moge wyslac po wejsciu na formularz ? nie rozumiem o co z tym chodzi.

Mail zostaje wyslany jak klikne w submit, przynajmniej dopiero po kliknieciu dochodzi wiadomosc
Go to the top of the page
+Quote Post
patwoj98
post
Post #11





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Chłopaki piszą, że masz ustawione wysyłanie bez jakiegokolwiek ifa typu:

  1. if($_POST['submit']){
  2. mail();//wysyłąsz maila
  3. }


Jak nie ma czegoś podobnego do tego to problem znaleziony - mail wysyła się od razu.

Skoro i tak tu odpowiadam to popraw może trochę kod:

  1. $temat = "Od: ".$_POST["nick"];


Mniej problemu, a tą zmienną title usuń.


EDIT: daj kod formularza HTML i działania całego kodu PHP.

Ten post edytował patwoj98 9.06.2015, 19:19:59
Go to the top of the page
+Quote Post
Star
post
Post #12





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


ale nie ma prawa wyslac się sam poniewaz kod od wysylania maila nie jest w tym samym pliku co formularz tylko w innym

to jeden plik:
  1. <form action="mail.php" method="post">
  2. <table>
  3. <tr>
  4. <td>
  5. <textarea id="message" name="message" cols="45" rows="15">
  6. Wpisz coś:
  7. </textarea> </center>
  8. </td>
  9. </tr>
  10. <tr>
  11. <td><input type="submit" value="Wyślij" /></td>
  12. <input type="hidden" name="nick" value="NICK">
  13. </tr>
  14. </table>
  15. </form>


a to drugi
  1.  
  2. $title = $_POST["nick"];
  3. $temat = "Od: $title";
  4. $wiadomosc = $_POST["message"];
  5. if(mail("cos@tam.com",$temat, $wiadomosc ))
  6. {
  7. echo "mail został wysłany";
  8. }
  9. else
  10. {
  11. echo "mail  NIE został wysłany";
  12. }
  13. ?>



Ten post edytował Star 9.06.2015, 23:02:09
Go to the top of the page
+Quote Post
patwoj98
post
Post #13





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


1. Skasuj 'wpisz cos...' i zrob to w znaczniku textarea przy uzyciu atrybutu placeholder.
2. Ustaw jakis name dla submita.
3. Ustaw naglowki maila.
4. Jak domykasz inputy to wszedzie.
5. Zmien cudzyslow na apostrofy przy zmiennej post.

Ten post edytował patwoj98 10.06.2015, 06:31:22
Go to the top of the page
+Quote Post
Star
post
Post #14





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

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


Pomogło, Dzięki Patwoj (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 09:00