Avatar billede baxter510 Nybegynder
23. februar 2013 - 10:26 Der er 8 kommentarer og
1 løsning

Array bliver ikke vist rigtigt i php mail

Hej.

Jeg har nogen problemer med en mail jeg sender som bekræftelse fra en side, mailen består af lidt tekst selvfølgelig, og så et Array.
Arrayet består af numre som skal stå under hinanden, men de står på linje i stedet for, og jeg kan ikke få den til at gøre det anderledes.
her er lidt kode:

$message = '
                                <html>
<head>                                  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />                                  <title></title>                                </head>                                <body>
                                  <p>Dette er en bekræftelse på at vi har modtaget dine nabo ønsker.<br /><br />
                                    Hold 4 vil i perioden x/7 Kl. 12.00 - x/7 kl. 12.00 gøre vort bedste for at alle ønsker bliver opfyldt.<br />
                                    Efter x/7 kl. 12 ophører alle reservationer.</p>
                                    <p><b>Glade festival hilsner</b><br />navn/holdleder nr.<br />
                                    Du har ønsket at lægge i samme gade med følgende medarbejder numre:</p>                                    '.                                $list = $_POST['tilmeldinger'];                                    $myArray =  explode("\n", $list);                                    $count = count($myArray);
                                        for($i=0;$i<$count;$i++) {
                                        echo $myArray[$i];                                        echo "<br />";
                                        }                                    '.                                </body>
</html>                                ';

Nogen der kan være behjælpelig her?:)

Go' Lørdag.
Avatar billede baxter510 Nybegynder
23. februar 2013 - 10:29 #1
$message = '
                                <html>
                                <head>
                                  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                                  <title></title>
                                </head>
                                <body>
                                  <p>Dette er en bekræftelse på at vi har modtaget dine nabo ønsker.<br /><br />
                                    Hold 4 vil i perioden x/7 Kl. 12.00 - x/7 kl. 12.00 gøre vort bedste for at alle ønsker bliver opfyldt.<br />
                                    Efter x/7 kl. 12 ophører alle reservationer.</p>
                                    <p><b>Glade festival hilsner</b><br />navn/holdleder nr.<br />
                                    Du har ønsket at lægge i samme gade med følgende medarbejder numre:</p>
                                    '.
                                    $list = $_POST['tilmeldinger'];
                                    $myArray =  explode("\n", $list);
                                    $count = count($myArray);
                                        for($i=0;$i<$count;$i++) {
                                        echo $myArray[$i];
                                        echo "<br />";
                                        }
                                    '.
                                </body>
                                </html>
                                ';
Avatar billede baxter510 Nybegynder
23. februar 2013 - 11:21 #2
Problemet er ikke løst, ved ikke hvorfor det endte som et svar.
Avatar billede olebole Juniormester
23. februar 2013 - 16:34 #3
<ole>

Noget kunne tyde på, du eller din udbyder har slået fejlmeldinger fra. Ellers ville din kode vist udløse fejl. Anyway, så tror jeg, du mener noget i denne retning:

$message = '
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title></title>
    </head>
    <body>
      <p>Dette er en bekræftelse på at vi har modtaget dine nabo ønsker.<br /><br />
        Hold 4 vil i perioden x/7 Kl. 12.00 - x/7 kl. 12.00 gøre vort bedste for at alle ønsker bliver opfyldt.<br />
        Efter x/7 kl. 12 ophører alle reservationer.</p>
        <p><b>Glade festival hilsner</b><br />navn/holdleder nr.<br />
        Du har ønsket at lægge i samme gade med følgende medarbejder numre:</p>
        '.
            $list = $_POST['tilmeldinger'];
            foreach ($list as $value) {
                echo $value . '<br>';
            }
        '.
    </body>
    </html>
';

- omend den resulterende ikke har så meget med HTML at gøre  =)

/mvh
</bole>
Avatar billede scootergrisen Nybegynder
23. februar 2013 - 21:08 #4
Det du sender er næsten ren tekst så du behøver ikke rigtig sende emailen som HTML.

Du kan lige så godt sende det som ren tekst også kan du sikkert også indsætte $_POST['tilmeldinger'] direkte hvis der er linieskift uden at du skal lave om til <br/>.

Prøv med :

$message = '
Dette er en bekræftelse på at vi har modtaget dine nabo ønsker.


Hold 4 vil i perioden x/7 Kl. 12.00 - x/7 kl. 12.00 gøre vort bedste for at alle ønsker bliver opfyldt.
Efter x/7 kl. 12 ophører alle reservationer.
Glade festival hilsner
navn/holdleder nr.

Du har ønsket at lægge i samme gade med følgende medarbejder numre:
' . $_POST['tilmeldinger'];
Avatar billede olebole Juniormester
23. februar 2013 - 21:20 #5
#4: Ja, man kan sagtens nøjes med at sende det som plain text - men det har sådan set ikke noget med spørgers problem at gøre.

Du forholder dig ikke til det egentlige problem: Hvordan får spørger udskrevet det array, som $_POST['tilmeldinger'] udgør?
Avatar billede olebole Juniormester
23. februar 2013 - 21:22 #6
- og løsningen i plain text:

$message = '
Dette er en bekræftelse på at vi har modtaget dine nabo ønsker.


Hold 4 vil i perioden x/7 Kl. 12.00 - x/7 kl. 12.00 gøre vort bedste for at alle ønsker bliver opfyldt.
Efter x/7 kl. 12 ophører alle reservationer.
Glade festival hilsner
navn/holdleder nr.

Du har ønsket at lægge i samme gade med følgende medarbejder numre:
' . implode("\r\n", $_POST['tilmeldinger']);
Avatar billede baxter510 Nybegynder
24. februar 2013 - 13:19 #7
Jeg har fået det til at virke, som plain text med 

$list = $_POST['tilmeldinger'];
            foreach ($list as $value) {
                echo $value . '\r\n';
            }

og
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-Type:text/plain;charset=utf-8" . "\r\n";

for at æøå ville virke. vil du smide et svar ole?
Avatar billede olebole Juniormester
24. februar 2013 - 14:40 #8
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede baxter510 Nybegynder
24. februar 2013 - 16:41 #9
Tak for hjælpen, lukker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester