/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Sende udtræk fra MySQL i en e-mail
Fra : Morten Brøgger


Dato : 28-08-05 16:56

Hej NG

Jeg er ved at lave en lille webshop på min hjemmeside:
www.dkfrim.dk/shop/seestore.php

Jeg vil jo gerne have indholdet af bestillingslisten sendt i en mail til
både mig selv og til den der afgiver sin bestilling.
Men hvordan får jeg mysql udtrækket over i en mail ?

Koden for udtræk fra mysql samt for opbygning af den tabel jeg gerne vil
have sendt i en mail, ser således ud:

$get_cart = "select st.id, si.item_title, si.item_price, st.sel_item_id from
store_shoppertrack as st left join store_items as si on si.id =
st.sel_item_id where session_id = '$PHPSESSID'";

$get_cart_res = mysql_query($get_cart) or die(mysql_error());

if (mysql_num_rows($get_cart_res) < 1) {

//print message

$display_block .= "<P>You have no items in your cart.

Please <a href=\"seestore.php\">continue to shop</a>!</p>";

} else {

//get info and build cart display

$display_block .= "

<table celpadding=4 cellspacing=2 border=2 width=90%>

<tr>

<th>Best. nr.</th>

<th>Overskrift</th>

<th>Pris</th>

<th>Slet</th>

</tr>";

while ($cart = mysql_fetch_array($get_cart_res)) {

$id = $cart['id'];

$item_id = $cart ['sel_item_id'];

$item_title = stripslashes($cart['item_title']);

$item_price = $cart['item_price'];

$display_block .= "<tr>

<td align=center>$item_id <br></td>

<td align=center>$item_title <br></td>

<td align=right>Kr. $item_price <br></td>

<td align=center><a href=\"removefromcart.php?id=$id\">Fjern</a></td>

</tr>";

}

$display_block .= "</table>";

}

Jeg kan oplyse at min udbyder kører PHP i safe mode

På forhånd tak.


--
Med venlig hilsen

Morten Brøgger





 
 
Peter Brodersen (28-08-2005)
Kommentar
Fra : Peter Brodersen


Dato : 28-08-05 18:42

On Sun, 28 Aug 2005 17:56:28 +0200, "Morten Brøgger"
<morten_FJERNbroegger@hotmail.com> wrote:

>Koden for udtræk fra mysql samt for opbygning af den tabel jeg gerne vil
>have sendt i en mail, ser således ud:

Det ser ud til at du allerede har hele indholdet i $display_block , så
prøv at sende det med som body. Fx:

mail("morten@eksempel.dk","Bestilling",$display_block,"Content-Type:
text/html");

(på én linje)

--
- Peter Brodersen

Morten Brøgger (28-08-2005)
Kommentar
Fra : Morten Brøgger


Dato : 28-08-05 20:50


"Peter Brodersen" <usenet2005@ter.dk> skrev i en meddelelse
news:dest38$p8l$3@news.klen.dk...
>> Det ser ud til at du allerede har hele indholdet i $display_block , så
> prøv at sende det med som body. Fx:
>
> mail("morten@eksempel.dk","Bestilling",$display_block,"Content-Type:
> text/html");
>
> (på én linje)
>
> --
> - Peter Brodersen

Hej Peter

Tusinde tak for hjælpen.
Jeg tror jeg kan få det til at virke her fra


--
Med venlig hilsen

Morten Brøgger
http://www.dkfrim.dk



Morten Brøgger (31-08-2005)
Kommentar
Fra : Morten Brøgger


Dato : 31-08-05 22:17

Hej Igen

Nu er det lykkedes mig at sende bestillingslisten til min mail.
Men jeg har dog stadig lidt småproblemer jeg gerne ville have løst.

Jeg vil bruge nedenstående scriptdel til at sende bestillingen med:
<<FORM action="sendt_best.php" method="POST">

Dit Davn: <INPUT type="text" name="name"><br><br>

Din E-Mail Addresse: <INPUT type="text" name="email"><br><br>

Indtast din adresse :<br>

<textarea name="message" cols=30 rows=5></textarea><br><br>

<INPUT type="submit" value="Send Bestilling">

---

Ovenstående virker også fint!

Men jeg har en "$display_block" (min bestillingsliste) som jeg jo gerne vil
have sendt med i med over i det nye script (sendt_best.php). Men det kan jeg
ikke få til at lykkedes!

Jeg er klar over at jeg nok skal have "sendt" "$display_block" med i POST
formularen ovenfor. Men hvordan tilpasser man det i scriptet ovenfor?

Jeg er klar over at det jo ikke er noget PHP script, men håber på jeres
forståelse, idet det jo trodsalt er en del af er større php script.

Påforhånd tak.

Med venlig hilsen

Morten Brøgger



Jeppe Bundsgaard (02-09-2005)
Kommentar
Fra : Jeppe Bundsgaard


Dato : 02-09-05 22:02

Morten Brøgger wrote in dk.edb.internet.webdesign.serverside.php:
> Men jeg har en "$display_block" (min bestillingsliste) som jeg jo gerne vil
> have sendt med i med over i det nye script (sendt_best.php). Men det kan jeg
> ikke få til at lykkedes!

Hej Morten
Altså: Du har fået display_block ind på denne side og skal nu have flere
oplysninger før du sender endeligt? Så kan du lægge display_block i en hidden:
<input type=hidden name=display_block value="<?php
addcslashes($display_block,"\""); ?>">

addcslashes sætter backslash foran alle " for at value ikke stopper for
tidligt.

Var det det du mente?

Og så til dit andet spørgsmål om mail.
mail-funktionen i php giver en hulens masse problemer... og så flere til.
hotmail og mange andre, ofte virksomhedsmailservere, vil ofte ikke modtage
mails fra php-mail, andre betragter det som spam, andre igen er uenige i måden
headerene kodes på osv. osv. Løsningen er at bruge smtp. Jeg bruger en class
jeg har fundet på phpclasses.org, PHPMailer hedder den. Når først du har den
integreret, så kører det derudaf.
MVh
Jeppe

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Morten Brøgger (03-09-2005)
Kommentar
Fra : Morten Brøgger


Dato : 03-09-05 20:13


> Hej Morten
> Altså: Du har fået display_block ind på denne side og skal nu have flere
> oplysninger før du sender endeligt? Så kan du lægge display_block i en
> hidden:
> <input type=hidden name=display_block value="<?php
> addcslashes($display_block,"\""); ?>">
>
> addcslashes sætter backslash foran alle " for at value ikke stopper for
> tidligt.
>
> Var det det du mente?
>


Hej Jeppe

Ja, det var det jeg mente. Mange tak for dit input. Men jeg kan stadig ikke
få "$display_block" med over i "sendt_best.php".
Jeg har prøvet flere varianter af dit forslag, bla. udskiftet value med
name, samt prøvet at slette addslashes funktionen som jeg ikke kan få til at
virke. Og jeg har naturligvis gså prøvet at skrive præcis som du har
beskrevet øverst

Du kan se mit script for afsendelse af "post", samt mit script for dannelse
af mailen nederst i dette indlæg.


> Og så til dit andet spørgsmål om mail.
> mail-funktionen i php giver en hulens masse problemer... og så flere til.
> hotmail og mange andre, ofte virksomhedsmailservere, vil ofte ikke modtage
> mails fra php-mail, andre betragter det som spam, andre igen er uenige i
> måden
> headerene kodes på osv. osv. Løsningen er at bruge smtp. Jeg bruger en
> class
> jeg har fundet på phpclasses.org, PHPMailer hedder den. Når først du har
> den
> integreret, så kører det derudaf.
> MVh
> Jeppe

Jeg vil lige vente til jeg kan få "$display_block" med i mine mails før jeg
forsøger mig med SMTPmails. Men tak for dit forslag. jeg vil nok vende
tilbage til det senere.

Script for afsendelse af "post":
<FORM action="sendt_best.php" method="POST">

Dit Davn: <INPUT type="text" name="name"><br><br>

Din E-Mail Addresse: <INPUT type="text" name="email"><br><br>

Indtast din adresse og meget gerne dit telefonnummer herunder:<br>

<textarea name="message" cols=30 rows=5></textarea><br><br>

<input type=hidden name=$display_block value="bestilling">

<INPUT type="submit" value="Send Bestilling">



Script for dannelse af mailen("sendt_best.php")

//start building the mail string

$msg = "Name: $_POST[name]\n";

$msg .= "E-Mail: $_POST[email]\n";

$msg .= "Adresse: $_POST[message]\n";

$msg .= "Din bestilling: $_POST[bestilling]\n";

//set up the mail

$bestmail = $_POST[email];

$emne = "Vedr.: Din bestilling";

$$recipient = "den@ene-adresse.dk";

$subject = "Bestilling";

$mailheaders = "From: ***.dk<in**@***.dk> \n";

$mailheaders .= "Reply-To: $_POST[email]\n\n";



//send the mail

mail($recipient, $subject, $msg, $mailheaders);

mail($bestmail, $emne, $msg, $mailheaders);


Håber du kan hjælpe mig lidt mere.

På forhånd tak!

--
Med venlig hilsen

Morten Brøgger



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste