Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] uitgewerkte pagina mailen? (https://forum.scholieren.com/showthread.php?t=708444)

Noisecrew 01-01-2004 11:34

[PHP] uitgewerkte pagina mailen?
 
Hoi,

Ik heb dus voor een factuur een gewone pagina gemaakt met php in verwerkt, zodat alle gegevens uit de database en uit de verzending kunnen worden gehaald.

Graag had ik deze pagina gemailt, mail het lukt me niet om de code in een mail functie te steken, er zitten namelijk php functies in e.d....

Hoe zorg ik nu dat de uitgewerkte factuur door php gemailt wordt?

Alvast bedankt!

Martin 01-01-2004 12:45

Als jij jouw broncode geeft, dan weten wij hoe jij de boel hebt opgebouwd, zodat wij met een oplossing kunnen komen..

*tip* duw alles in variabelen en duw dat in de mailfunctie?

ekki 01-01-2004 16:00

Sendmail
Met PHP kun je op zeer eenvoudige wijze emails versturen. De MTA die gebruikt wordt door PHP om de mail te verzenden kan opgegeven worden met de sendmail_path setting in php.ini.

Versturen van de mail
Wat heb je nodig bij het versturen van de email:

TO
SUBJECT
BODY
FROM


Gebruik de functie mail() om de email met PHP te versturen.

PHP-code:

<?

$to = "email@domein.nl";
$subject = "Dit is een test";
$body = "Hier komt de body van de email, dus waarschijnlijk je factuur";
$naam = "Jouw naam";
$emailadres = "jouw@emailadres.com";

mail($to, $subject, $body, "From: $naam <$emailadres>"); 
?>


Noisecrew 01-01-2004 17:04

Mja, ik ben wat te onduidelijk geweest. Even opnieuw :)

PHP-code:

<? 

$to = "email@domein.nl"; 
$subject = "Dit is een test"; 
$body = "

if ($rowUSER_DETAILS["usertype"] == 1)
   {
       $usertype= "Garagehouder";
   }
elseif ($rowUSER_DETAILS["usertype"] == 2)
   {
       $usertype= "Eindgebruiker";
   }
echo $usertpe;

";
$naam = "Jouw naam"; 
$emailadres = "jouw@emailadres.com"; 

mail($to, $subject, $body, "From: $naam <$emailadres>");  
?>

Dit als kort voorbeeldje. Dit zou nu wel makkelijk te zijn door vooraf te verwerken, maar ik heb echt een heel script dat een html pagina genereerd, en DIE html code moet ik mailen.

Gimme more beer 02-01-2004 14:00

Citaat:

Bootsman123 schreef op 01-01-2004 @ 21:23:
PHP-code:

<? 

$to = "email@domein.nl"; 
$subject = "Dit is een test"; 

if ($rowUSER_DETAILS["usertype"] == 1)
   {
       $usertype= "Garagehouder";
   }
else
   {
       $usertype= "Eindgebruiker";
   }
$body = $usertype;

$naam = "Jouw naam"; 
$emailadres = "jouw@emailadres.com"; 

mail($to, $subject, $body, "From: $naam <$emailadres>");  
?>


Dat leek mij ook ja.
Kortom: Je verwerkt de functies (net zoals je dat in alle andere gevallen ook doet) buiten je $body om en als je dat eenmaal gedaan hebt, komen daar weer allemaal variabelen uit die je kunt gebruiken in je body.

Wat jij (neem ik aan) bijvoorbeeld wil is dan dat je body er zo uit gaat zien:

PHP-code:

$body="Hallo ".$klant.",<BR>Je hebt ".$aantal1." tuinstoelen bij ons besteld. Dit gaat u ".$totaal." kosten.<BR>Groet, de tuinstoelfabrikant."

Dat kan dan dus wel. Ik neem aan dat je er zo wel uit komt.

eddie 02-01-2004 14:06

Citaat:

Noisecrew schreef op 01-01-2004 @ 18:04:
Dit zou nu wel makkelijk te zijn door vooraf te verwerken, maar ik heb echt een heel script dat een html pagina genereerd, en DIE html code moet ik mailen.
Zet de html-code in een bestand en lees dat bestand in

Noisecrew 02-01-2004 22:19

De eerste reachties na mijn code gaan niet lukken. Ik heb dus echt een script van 930 lines waaronder ook html...

Opslaan als tijdelijke page lijkt me een mogelijkheid...
Thx

Blowie 03-01-2004 15:49

dus je wil exact de pagina die op het scherm komt ook mailen?
dat is namelijk simpel..

helemaal bovenin je pagina:
ob_start();
dan al je php en html ..

helemaal onderaan van je pagina iets van:
$inhoud_pagina = ob_get_contents ();
ob_clean();


en dan iets van:

echo $inhoud_pagina;

$naar = "email@domein.nl";
$onderwerp = "Factuurtje";
$van = "naamie";
$van_email = "jouw@emailadres.com";

mail($naar , $onderwerp , $inhoud_pagina, "From: $van <$van_email>");


korte uitleg.. alle output die php maakt wordt opgeslagen in een buffer.. met ob_get_contents zet ie de buffer in een string.. met deze string kan je dan nog doen wat je wil.. bv wat ik nog wel eesn gebruik is de style's eruit halen, email ondersteund geen stylesheets.. (gewoon met preg_replace()).. met ob_clean() gooi je je buffer leeg.. (je kan kiezen, je kan ook de echo wegglaten en de ob_clean() dan zou ie het ook moeten doen.. - maar anders echo't ie 2x je factuur)..
En de string mik je dan in de email.. :)

Noisecrew 04-01-2004 00:20

Citaat:

Blowie schreef op 03-01-2004 @ 16:49:
dus je wil exact de pagina die op het scherm komt ook mailen?
dat is namelijk simpel..

helemaal bovenin je pagina:
ob_start();
dan al je php en html ..

helemaal onderaan van je pagina iets van:
$inhoud_pagina = ob_get_contents ();
ob_clean();


en dan iets van:

echo $inhoud_pagina;

$naar = "email@domein.nl";
$onderwerp = "Factuurtje";
$van = "naamie";
$van_email = "jouw@emailadres.com";

mail($naar , $onderwerp , $inhoud_pagina, "From: $van <$van_email>");


korte uitleg.. alle output die php maakt wordt opgeslagen in een buffer.. met ob_get_contents zet ie de buffer in een string.. met deze string kan je dan nog doen wat je wil.. bv wat ik nog wel eesn gebruik is de style's eruit halen, email ondersteund geen stylesheets.. (gewoon met preg_replace()).. met ob_clean() gooi je je buffer leeg.. (je kan kiezen, je kan ook de echo wegglaten en de ob_clean() dan zou ie het ook moeten doen.. - maar anders echo't ie 2x je factuur)..
En de string mik je dan in de email.. :)

Dit zocht ik nou (y)
Thx kerel :)

CryptapiX 04-01-2004 00:46

het zou zo mijn huiswerk van 2 jaar geleden kunnen zijn :p

JJzD 04-01-2004 04:36

Citaat:

eddie schreef op 02-01-2004 @ 15:06:
Zet de html-code in een bestand en lees dat bestand in
idd de simpelste oplossing

fwrite wegschrijven als .htm
Bestand mailen
en weer verwijderen.

5 regels code en je bent klaar.

Blowie 05-01-2004 11:19

Citaat:

Noisecrew schreef op 04-01-2004 @ 01:20:
Dit zocht ik nou (y)
Thx kerel :)

alstu :)


Alle tijden zijn GMT +1. Het is nu 17:54.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.