Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Formularz - jak wkleić zmienne w treść maila?
kakkarot
post 8.11.2012, 15:58:40
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 7.04.2010

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


Witam, od razu powiem, że w php jestem całkiem zielony. Posiadam skrypt formularza. Po wypełnieniu dostaję potwierdzenie na maila, ale w treści maila mam podany tylko tekst w stylu: "Formularz został wysłany", a chciałbym, żeby były tam wstawione dane z formularza.


CODE
include 'config.php';
include 'class.phpmailer.php';

$array = $_POST;
$id = md5(uniqid());

// CREATE FILE
touch('results/'.$id.'.csv');
$file = fopen('results/'.$id.'.csv', 'w');

$col = array();
$col[0] = array();
$col[1] = array();

foreach ($array as $key => $value)
{
if ( ! empty($value))
{
if ($key == 'POBRANIE') continue;
if ($key == 'U_RACH_POBRANIA') $value = trim($value);
if ($key == 'CK' AND $array['PLATNIK'] != 'ZL') $key = substr($array['PLATNIK'], 1).'_CK';
else if ($key == 'CK' AND $array['PLATNIK'] == 'ZL') continue;

$col[0][] = $key;
$col[1][] = $value;
}
}

$col[0][] = 'N_OS_NADAJACA';
$col[1][] = $array['N_NAZWA'];

fputcsv($file, $col[0], ';');
fputcsv($file, $col[1], ';');

fclose($file);

// SEND MAILS
$mail_handle = new PHPMailer();
$mail_handle->IsSMTP();

$mail_handle->Host = $connection['host'];
$mail_handle->Port = $connection['port'];
$mail_handle->SMTPAuth = true;
$mail_handle->Username = $connection['user'];
$mail_handle->Password = $connection['pswd'];

$mail_handle->SetFrom('kurier@costamcostam.pl', 'CSV Formularz - Bot');
foreach ($receivers as $item) $mail_handle->AddAddress($item);
$mail_handle->Subject = 'Formularz';
$mail_handle->CharSet = 'utf-8';
$mail_handle->Body = 'Formularz został wysłany';
$mail_handle->AddAttachment('results/'.$id.'.csv');

if ($mail_handle->Send())
$mail = true;
else
$mail = false;



Nie wiem jak mam wstawić wszystkie zmienne w body mail_handle.
jak zrobię tak: $mail_handle->Body = $POST['N_NAZWA']; wo wysyła zmienną z pola N_NAZWA, ale ni jak nie mogę wkleić tak kilka zmiennych..próbowałem ze średnikami, z przecinkami, bez niczego i nic...
proszę o pomoc i jakieś którkie wyjaśnienie.
dzięki
Go to the top of the page
+Quote Post
b4rt3kk
post 8.11.2012, 16:12:10
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Tworzenie ciągu, z kilku zmiennych:

  1. $string = $variable1.$variable2.$variable3;


Zastosuj powyższe u siebie...

  1. $mail_handle->Body = $_POST['zmienna1'].'a to tekst'.$zmienna2.'i znowu kawalek tekstu, itd.';


I na miłość boską, wstawiaj kod, pomiędzy znaczniki PHP, a nie code.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
kakkarot
post 8.11.2012, 20:08:17
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 7.04.2010

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


zrobiłem jak napisałeś i z 2 zmiennymi działa, ale jak dodałem 3 i więcej, to w mailu zwrotnym wyświetla się tylko zmienna1 i teksty z ''...

  1. $mail_handle->Body = $_POST['N_NAZWA'].'a to tekst'.$N_ULICA.'i znowu kawalek tekstu, itd.'.$N_KOD_POCZTOWY.'BLA BLA';
Go to the top of the page
+Quote Post
b4rt3kk
post 8.11.2012, 20:41:11
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(kakkarot @ 8.11.2012, 20:08:17 ) *
zrobiłem jak napisałeś i z 2 zmiennymi działa, ale jak dodałem 3 i więcej, to w mailu zwrotnym wyświetla się tylko zmienna1 i teksty z ''...

  1. $mail_handle->Body = $_POST['N_NAZWA'].'a to tekst'.$N_ULICA.'i znowu kawalek tekstu, itd.'.$N_KOD_POCZTOWY.'BLA BLA';


Więc widocznie zmienne które podstawiasz są puste. Wcale nie musisz wtykać pomiędzy zmienne zwykłego tekstu, to był tylko taki przykład na łączenie stringów.

  1. $mail_handle->Body = $_POST['N_NAZWA'].$N_ULICA.$N_KOD_POCZTOWY;


Co więcej nie widzę w kodzie, który podałeś w pierwszym poście żebyś deklarował zmienne, które tutaj wstawiasz ($N_ULICA, $N_KOD_POCZTOWY). Nie wiem, ale się domyślam, że to zmienne $_POST?

  1. $mail_handle->Body = $_POST['N_NAZWA'].$_POST['N_ULICA'].$_POST['N_KOD_POCZTOWY'];


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
kakkarot
post 8.11.2012, 20:49:09
Post #5





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 7.04.2010

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


aaa, teraz rozumiem wink.gif
a powiedz mi jeszcze, jak zrobić aby w mailu wyświetlało mi zmienne z radio oraz checkboxów? tzn T albo N, albo z listy rozwijanej?
Jak zrobić, aby każda zmienna była wyświetlana w osobnej linii?

Go to the top of the page
+Quote Post
b4rt3kk
post 8.11.2012, 20:59:56
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Tak samo jak powyżej, wartości checkboxów, selectów, radio są przesyłane w tablicy $_POST o kluczu zgodnym z nazwą elementu. Znak przejścia do nowej linii to <br/>, wystarczy, że dodasz go po każdej zmiennej.

  1. $_POST['N_NAZWA'].'<br/>'.$_POST['N_ULICA'].'<br/>'.$_POST['N_KOD_POCZTOWY'].<br/>';


I tak dalej.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
kakkarot
post 8.11.2012, 21:04:16
Post #7





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 7.04.2010

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


wielkie dzięki smile.gif sam musiałbym przewertować kilkanaście stron, żeby coś zrozumieć ;P
jak będę miał pytania co do tego formularza, to będę pisał w tym temacie, liczę, że jeszcze mi pomożesz wink.gif
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 Wersja Lo-Fi Aktualny czas: 23.06.2025 - 11:08