Skocz do zawartości

Zdjęcie
* * * * * 1 głosy

Problem z funkcją mail()


11 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
PiotreG
0
Neutralna

Napisano 29 stycznia 2014 - 19:35

#1
Witam! Jestem początkującym webmasterem i mam problem z funkcją mail() w PHP. Chciałbym dodać więcej pól do formularza ale nie wiem jak je dodać cały czas wyskakuje błąd. Oto kod, którego używam:
<?php
$to      = '[email protected]';
$subject = $_POST['nick'];
$message = $_POST['nick'];
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
$trasa1a = $_POST['1a'];
$trasa1b = $_POST['1b'];
$trasa2a = $_POST['2a'];
$trasa2b = $_POST['2b'];
$trasa3a = $_POST['3a'];
$trasa3b = $_POST['3b'];
$trasa4a = $_POST['4a'];
$trasa4b = $_POST['4b'];
$trasa5a = $_POST['5a'];
$trasa5b = $_POST['5b'];
 
mail($to, $subject, $message, $headers, $trasa1a, $trasa1b, $trasa2a, $trasa2b, $trasa3a, $trasa3b, $trasa4a, $trasa4b, $trasa5a, $trasa5b, );
?>
 
 
Jeszcze dodam fotkę mojego formularza i chciałbym, żeby mail docierał w takiej formie w jakiej jest formularz.
 
beztytuuctkrm.png
Proszę o pomoc!

  • 0

vms

    Użytkownik

  • 81 postów
    • Czas spędzony online: 5h 33m 5s
28
Bardzo dobra

Napisano 29 stycznia 2014 - 19:42

#2

Wiadomość w mailu to zmienna $message (3 parametr). Dodaj dane z formualrza do tej zmiennnej.

Tu masz definicję oraz przykłady: http://pl1.php.net/m...nction.mail.php


  • 0

PiotreG
0
Neutralna

Napisano 29 stycznia 2014 - 20:01

#3

Czyli to powinno wyglądać mniej więcej tak?

 

<?php
$to      = '[email protected]';
$subject = $_POST['nick'];
$message = "{$nick}\r\n{$trasa1a} - {trasa1b}\r\n{$trasa2a} - {trasa2b}\r\n{$trasa3a} - {trasa3b}\r\n{$trasa4a} - {trasa4b}\r\n{$trasa5a} - {trasa5b}";
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
$nick = $_POST['nick'];
$trasa1a = $_POST['1a'];
$trasa1b = $_POST['1b'];
$trasa2a = $_POST['2a'];
$trasa2b = $_POST['2b'];
$trasa3a = $_POST['3a'];
$trasa3b = $_POST['3b'];
$trasa4a = $_POST['4a'];
$trasa4b = $_POST['4b'];
$trasa5a = $_POST['5a'];
$trasa5b = $_POST['5b'];
 
 
mail($to, $subject, $message, $headers);
?>

  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 30 stycznia 2014 - 08:51

#4

Tak tyle że w odpowiedniej kolejności:

<?php
$to      = '[email protected]';
$subject = $_POST['nick'];

$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
$nick = $_POST['nick'];
$trasa1a = $_POST['1a'];
$trasa1b = $_POST['1b'];
$trasa2a = $_POST['2a'];
$trasa2b = $_POST['2b'];
$trasa3a = $_POST['3a'];
$trasa3b = $_POST['3b'];
$trasa4a = $_POST['4a'];
$trasa4b = $_POST['4b'];
$trasa5a = $_POST['5a'];
$trasa5b = $_POST['5b'];

$message = "{$nick}\r\n{$trasa1a} - {trasa1b}\r\n{$trasa2a} - {trasa2b}\r\n{$trasa3a} - {trasa3b}\r\n{$trasa4a} - {trasa4b}\r\n{$trasa5a} - {trasa5b}";
 
mail($to, $subject, $message, $headers);
?>

  • 1

webDeveloper


PiotreG
0
Neutralna

Napisano 30 stycznia 2014 - 16:30

#5

Wklejam to i nie wysyła, pokazuje się pusta strona.


  • 0

writen

    Stary wyjadacz

  • 458 postów
    • Czas spędzony online: 29d 22h 59m 44s
133
Znakomita!

Napisano 30 stycznia 2014 - 17:11

#6

A co ma się pokazać? Nie ma tam żadnego komunikatu.

Zmieniłeś email w skrypcie? Bo raczej nie założyłeś sobie maila "[email protected]".


  • 0

logo-green-dark.png


PiotreG
0
Neutralna

Napisano 30 stycznia 2014 - 17:30

#7

A co ma się pokazać? Nie ma tam żadnego komunikatu.

Zmieniłeś email w skrypcie? Bo raczej nie założyłeś sobie maila "[email protected]".

maila zmieniłem ale i tak nie wysyła


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 30 stycznia 2014 - 18:39

#8

Jak próbujesz uruchomić u siebie na kompie, na 'localu' to Ci nie wyśle, chyba że masz w php.ini ustawionego demona poczty (funkcję mail).

 

Ostatnią linijkę zmień na:

if( mail($to, $subject, $message, $headers) )
  echo "OK";
else
  echo "FALSE";

i daj znać co Ci wyświetla, jeżeli nic to będzie trzeba włączyć wyświetlanie błędów


Użytkownik unbreak edytował ten post 30 stycznia 2014 - 18:54

  • 0

webDeveloper


PiotreG
0
Neutralna

Napisano 01 lutego 2014 - 15:24

#9

Wyskakuje mi "FALSE"


  • 0

zonic

    WT Elite

  • 2 911 postów
    • Czas spędzony online: 134d 2h 28m 23s
472
Znakomita!
  • LocationToruń

Napisano 01 lutego 2014 - 20:25

#10

Wyskakuje mi "FALSE"

Twój hosting najprawdopodobniej nie obsługuje funkcji mail().


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 02 lutego 2014 - 14:10

#11

zamiast mail() użyj PHPMailer: https://github.com/Synchro/PHPMailer prosty w użyciu a bez problemu możesz wyciągnąć błąd który powie Ci co jest nie tak.


  • 1

webDeveloper


DDRHosting
1
Neutralna

Napisano 04 lutego 2014 - 14:11

#12

To że wyskoczyło false nie oznacza że funkcja nie jest zaimplementowana - w tym wypadku byłby fatal error.

Sprawdź czy masz możliwość modyfikacji parametru "from"

---

Hosting, Domeny, Certyfikaty SSL - http://ddr.pl


  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych