ik heb een script dat data vanuit een form opslaat in een database en omvormt tot een emailbericht. Ik probeer de opmaak van het mailbericht te verfijnen. Het deel van het script dat verantwoordelijk is voor de ouput van de email body
Ik weet dat regel 28 ervoor zorgt dat de NAME-variabele van het form gepost wordt met de inhoud van de INPUT. Als ik deze bijv. verander in:
$mailBody = $mailBody.$post[$field->name] . "<br/>\n";
dan wordt alleen de inhoud van de INPUT in het mailbericht verwerkt.
Wat ik nog extra wil is wat <br/>-en in het mail-bericht en wat standaard echo's erbij. Ik denk dat ik er niet aan ontkom om het script aanzienlijk uit te breiden.
Wie kan mij wat tips en voorbeelden geven voor het aanpassen van het script (echo's icm variabelen?) voor het gewenste resultaat?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| */
function saveData($post)
{
$ckform = $this->getData();
if ($ckform->saveresult == 1) {
$datenow =& JFactory::getDate();
$mail =& JFactory::getMailer();
$dba =& JFactory::getDBO();
$mailBody = "Form : ".$ckform->title." [".$ckform->name."]<br/>\n";
$mailBody = $mailBody."registred at ".$datenow->toMySQL()."<br/><br/>\n\n";
$query = ' insert into #__ckforms_'.$ckform->id."(" ;
for ($i=0, $n=count($ckform->fields ); $i < $n; $i++)
{
$field = $ckform->fields[$i];
$query = $query.$field->name.",";
}
$query = $query."created) values(";
for ($i=0, $n=count($ckform->fields ); $i < $n; $i++)
{
$field = $ckform->fields[$i];
$query = $query."'".addslashes($post[$field->name])."',";
$mailBody = $mailBody.$field->name . " : " . $post[$field->name] . "<br/>\n";
}
$query = $query."'".$datenow->toMySQL()."')";
$dba->Execute($query);
if ($ckform->emailresult == 1) {
$mailTO = explode(",", $ckform->emailto);
$mailCC = explode(",", $ckform->emailcc);
$mailBCC = explode(",", $ckform->emailbcc);
$mail->CharSet = "utf-8";
$mail->addRecipient( $mailTO );
$mail->addCC( $ckform->mailCC );
$mail->addBCC( $ckform->mailBCC );
$mail->setSender( array( $ckform->emailfrom, "" ) );
$mail->setSubject( $ckform->subject );
$mail->setBody( $mailBody );
$mail->IsHTML (true);
$sent = $mail->Send();
}
}
}
} |
Ik weet dat regel 28 ervoor zorgt dat de NAME-variabele van het form gepost wordt met de inhoud van de INPUT. Als ik deze bijv. verander in:
$mailBody = $mailBody.$post[$field->name] . "<br/>\n";
dan wordt alleen de inhoud van de INPUT in het mailbericht verwerkt.
Wat ik nog extra wil is wat <br/>-en in het mail-bericht en wat standaard echo's erbij. Ik denk dat ik er niet aan ontkom om het script aanzienlijk uit te breiden.
Wie kan mij wat tips en voorbeelden geven voor het aanpassen van het script (echo's icm variabelen?) voor het gewenste resultaat?