Avatar billede krydset Nybegynder
16. november 2003 - 00:11 Der er 12 kommentarer og
1 løsning

Hjælp til php i en html mail

Jeg har følgende som gerne skulle være en ordre bekræftelse men det funger ikke rigtigt, kan i hjælpe lid, her er mail scriptet

$headers .= "From: Absolut Gamer <absolute@pc-dk.dk>\r\n";
$subject = "Ordre bekræftelse";
$message = "
    <html>
    <body background='http://www.pc-dk.dk/pic/baggrund.jpg'>
    <center><img src=\"http://www.pc-dk.dk/pic/logo1.gif\"></center>
    <table>
    <tr>
    <td>
        <center>Hejsa $_POST[fornavn] $_POST[efternavn]
            <br />
        Vi bekræfter hermed at du har bestil følgende timg hos absolute gamers
            <br />
        Her er en liste over bestilte varer:
            <br />";
        $res = mysql_query("SELECT * FROM kurv WHERE bruger_id = '$_SESSION[unikt_id]'") or die(mysql_error());
        while ($row = mysql_fetch_array($res)) {
                echo "$row[id]<br>";
                echo "$row[vare_navn]";
                echo "$row[vare_pris]";
        }

        "
    </td>
    </tr>
    </table>";
       
       
if(isset($kob)) {
mail("$_POST[email]","$subjekt", "$message", "From: \"Absolute Gamer\"<tlarsen@pc-dk.dk>\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
       
        }
if($_GET['function'] == "betaling") {
    betaling();
}
   
?>

Problemet er at de ting der skulle komme ud af query ikke kommer med i mailen
  På forhånd tak

//krydset
Avatar billede googolplex Novice
16. november 2003 - 00:25 #1
Er det kun dit udtræk fra databasen, der ikke kommer med, hvad med resten af dit html ?
Avatar billede krydset Nybegynder
16. november 2003 - 00:26 #2
Ja kun udtrææket fra db, resten er god nok
Avatar billede googolplex Novice
16. november 2003 - 00:29 #3
Prøv at lave dit udtræk først, og samle det hele i en $streng. Så kan du bare smide strengen direkte ind i $message.
Avatar billede googolplex Novice
16. november 2003 - 00:31 #4
Det er fordi du ikke for den sidste del af strengen med i message, du skal bruge '.' til at sætte strengen sammen.
Avatar billede krydset Nybegynder
16. november 2003 - 00:34 #5
Kan du uddybe det lidt??
Avatar billede googolplex Novice
16. november 2003 - 00:39 #6
Sådan noget lignende:

headers .= "From: Absolut Gamer <absolute@pc-dk.dk>\r\n";
$subject = "Ordre bekræftelse";
$res = mysql_query("SELECT * FROM kurv WHERE bruger_id = '$_SESSION[unikt_id]'") or die(mysql_error());
$udtraek = '';
while ($row = mysql_fetch_array($res)) {
    $udtraek .= "$row[id]<br>";
    $udtraek .= "$row[vare_navn]";
    $udtraek .= "$row[vare_pris]";
}
$message = "
    <html>
    <body background='http://www.pc-dk.dk/pic/baggrund.jpg'>
    <center><img src=\"http://www.pc-dk.dk/pic/logo1.gif\"></center>
    <table>
    <tr>
    <td>
        <center>Hejsa $_POST[fornavn] $_POST[efternavn]
            <br />
        Vi bekræfter hermed at du har bestil følgende timg hos absolute gamers
            <br />
        Her er en liste over bestilte varer:
            <br />$udtraek
            </td>
    </tr>
    </table>";
       
if(isset($kob)) {
mail("$_POST[email]","$subjekt", "$message", "From: \"Absolute Gamer\"<tlarsen@pc-dk.dk>\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
       
        }
if($_GET['function'] == "betaling") {
    betaling();
}
   
?>
Avatar billede krydset Nybegynder
16. november 2003 - 00:49 #7
Jamen det virkede jo, Takker, og lig et svar :-O
Avatar billede googolplex Novice
16. november 2003 - 00:52 #8
Ok :)

Problemet er, at man ikke kan bruge 'echo' midt inde i en streng, du skal 'klistre' de forskellige dele af strengen sammen med '.'.

Eller gøre som jeg gjorde :P
Avatar billede krydset Nybegynder
16. november 2003 - 00:56 #9
okaj, jeg sætte en reminder i <head> til fremtiden jeg skal lave det :-D

men takker
Avatar billede tipsen Nybegynder
16. november 2003 - 02:56 #10
En anden ting er at de billeder du bruger i html-mailen bør vedhæftes mailen og ikkes skulle hentes fra nettet - den form for lazy-html forhindres af nogle mail-klienter, da det kan bruges som sladrehank om emailadressen (spamformål)!
Avatar billede tipsen Nybegynder
16. november 2003 - 02:56 #11
Bemærk også at ikke alle kan/vil læse html-mails!
Avatar billede danino Nybegynder
16. november 2003 - 11:05 #12
I følge den kode du har skrevet her, vil det rigtige subject ikke fremgå af mailen:

headers .= "From: Absolut Gamer <absolute@pc-dk.dk>\r\n";
$subject = "Ordre bekræftelse";
$res = mysql_query("SELECT * FROM kurv WHERE bruger_id = '$_SESSION[unikt_id]'") or die(mysql_error());
$udtraek = '';
while ($row = mysql_fetch_array($res)) {
    $udtraek .= "$row[id]<br>";
    $udtraek .= "$row[vare_navn]";
    $udtraek .= "$row[vare_pris]";
}
$message = "
    <html>
    <body background='http://www.pc-dk.dk/pic/baggrund.jpg'>
    <center><img src=\"http://www.pc-dk.dk/pic/logo1.gif\"></center>
    <table>
    <tr>
    <td>
        <center>Hejsa $_POST[fornavn] $_POST[efternavn]
            <br />
        Vi bekræfter hermed at du har bestil følgende timg hos absolute gamers
            <br />
        Her er en liste over bestilte varer:
            <br />$udtraek
            </td>
    </tr>
    </table>";
       
if(isset($kob)) {
mail("$_POST[email]","$subjekt", "$message", "From: \"Absolute Gamer\"<tlarsen@pc-dk.dk>\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit");
       
        }
if($_GET['function'] == "betaling") {
    betaling();
}
   
?>

Da subject er stavet: subject i starten, men indsættes i mail() med subjekt.... Men det kan jo være du har det rigtige skrevet i den kode du bruger... Ville bare lige gøre opmærksom på det.
Avatar billede krydset Nybegynder
16. november 2003 - 12:16 #13
Det er rettet :-D men tak for det
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