Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[PHP] opmaak email body

Pagina: 1
Acties:
  • 462 views

Verwijderd

Topicstarter
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
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?

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21:50

MueR

Admin Devschuur® & Discord

is niet lief

Wie houdt je tegen zelf iets te proberen? Ik mis namelijk bijna alle vormen van eigen inzet hier.

Anyone who gets in between me and my morning coffee should be insecure.


Verwijderd

Topicstarter
Omdat ik niet weet hoe ik iets kan toevoegen aan de afzonderlijke 'fields' deze worden in het script niet gespecificeerd. En geloof me, ik heb genoeg geprobeerd...

[ Voor 15% gewijzigd door Verwijderd op 23-07-2008 13:34 ]


  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Ik begrijp je probleem niet zo.
Je heb ergens een script vandaan gehaald en wil dat er meer info in de email staat dan alleen de $_POST var van het formulier.
Is dat formulier 1 textarea?

Het lijkt mij dat je wat replaces zou moeten doen of waarden invoegen. enz.

[ Voor 4% gewijzigd door Jochemmol op 23-07-2008 15:39 ]

Jochemmol


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21:50

MueR

Admin Devschuur® & Discord

is niet lief

Ik ga er dan maar even van uit dat je het niet zelf hebt geschreven. Dat maakt het per definitie al iets wat hier niet thuis hoort. Met een beetje basiskennis van PHP of uberhaupt de werking van server side scripting moet dat namelijk niet moeilijk zijn.

Anyone who gets in between me and my morning coffee should be insecure.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:42

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op woensdag 23 juli 2008 @ 13:33:
En geloof me, ik heb genoeg geprobeerd...
Ik geloof je niet :Y)
Wat heb je allemaal al geprobeerd dan? Wat lukte daar niet mee? Zie ook Programming Beleid - De Quickstart

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Pfffff... Had liever gehad dat iemand mijn 1 of 2 regeltjes scripting aanleverde (lijkt mij niet zo moeilijk voor een solid-PHP-er), want, nee, ik ben geen die-hard-PHP-er. Als ik de code zelf had geschreven, had ik zelf die vraag niet gesteld. Thanks anyway voor de reacties.

Creepy, je kunt de topic verwijderen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 23 juli 2008 @ 17:47:
Pfffff... Had liever gehad dat iemand mijn 1 of 2 regeltjes scripting aanleverde (lijkt mij niet zo moeilijk voor een solid-PHP-er), want, nee, ik ben geen die-hard-PHP-er.
En wij zijn geen afhaalbalie voor kant-en-klare oplossingen: quickfixes doen we dus niet aan. Neem gerust een keer onze Programming Beleid Quickstart door.

:w

[ Voor 15% gewijzigd door RobIII op 23-07-2008 17:49 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.