Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz - jak wkleić zmienne w treść maila?
Forum PHP.pl > Forum > Przedszkole
kakkarot
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
b4rt3kk
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.
kakkarot
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';
b4rt3kk
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'];
kakkarot
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?

b4rt3kk
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.
kakkarot
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
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.