Online versturen van een PDF-form?
Ik zit met een probleem. Ik heb een online PDF formulier aangemaakt. Je kunt deze online invullen en het verzenden door gebruik te maken van een verzend knop. Echter, als je op t verzenden klikt wordt het formulier via MS Outlook gestuurd.
Dit wordt onmogelijk als je geen Outlook email hebt. (soortgelijke vraag is al eerder gesteld op t Adobe forum: http://forums.adobe.com/thread/308322 )
Omdat niet iedereen MS Outlook heeft, moet zo'n PDFje online (mail server) verstuurd worden, zoals PHP bestelformulieer of PHP "Contact Me" formulier.
Iemand een idee hoe ik dit probleem op kan lossen? Misschien hebben jullie een goede script of tips voor mij?
Alvast bedankt,
Gr.
Misschien kan je de PDF op je server opslaan en in de mail een link er naar zetten? Ik veronderstel dat je best de PDF's toch zal bijhouden? En desnoods van de server verwijderen.
Of misschien is dit wel iets: http://www.sitemasters.be/scripts/1/15/183/PHP/Mail_met_bijlage
Ik weet niet of je hier iets mee zal zijn, maar google alvast even?
Mvg Kasper
Bedankt voor je snelle reactie. Idd, PDFje op de server opslaan en er link in een mailtje zou misschien ook een goede optie kunnen zijn. Alleen ik weet echt niet hoe ik dat moet doen. Als je de PDF in een browser opent, dan kun je deze alleen maar op de harde schijf opslaan. Je zou dus een script aan de PDF-from moeten kopellen...
Aantal is het gelukt maar ze willen graag centjes zien... ;-) (www.pdf2email.co.uk en nk-inc.com)
Gr.
Aad B op 02/09/2010 20:22:02:
pdf aanmaken met de fpdf class, saven op je server in DocumentRoot/tmp en verzenden met de mailfunctie, aanrader is de phpmailer class. De link naar de pdf kan je tevens online aanbieden met bijvoorbeeld een header(location...) of gewoon als link. Periodiek of meteen DocumentRoot/tmp weer schonen.
Edit:
en beide genoemde classes zijn gratis!
[/quote]
Echter heeft fpdf geen goede support voor formulieren in een PDF. Tenminste, een jaar (ongeveer) geleden toen ik het nodig had, had fpdf die ondersteuning niet.
En, ik weet wat je je nu gaat afvragen: Ik ben ook geen andere classes tegengekomen die het konden..
[/quote]
Echter heeft fpdf geen goede support voor formulieren in een PDF. Tenminste, een jaar (ongeveer) geleden toen ik het nodig had, had fpdf die ondersteuning niet.
En, ik weet wat je je nu gaat afvragen: Ik ben ook geen andere classes tegengekomen die het konden..
@Niek: mee eens, ik laat dan ook een gewone webform invullen en genereer de pdf na de submit.
Aad B op 02/09/2010 20:44:52:
@Niek: mee eens, ik laat dan ook een gewone webform invullen en genereer de pdf na de submit.
Deed ik ook, maar dan zit je meestal te eikelen met die pixels..
Ligt dus even aan de TS, wat die wil.
Wat een goede tips allemaal! thx for that. Ik heb idd zo'n PHP webform al liggen. Ik moet deze nog maar een beetje aanpassen, alleen nog ff uitzoeken hoe je een PDF genereert na submit. Kan ik dan is zo'n genereic PDF plaatjes gaan verwerken, zo ja hoe geeft je de posistie van t plaatje aan? Natuurlijk alle script, codes en ideeen zijn welkom..;-)
Ik gebruik deze webform, maar ik heb geen idee hoe ik de "fpdf.php" aan "Verzenden" knop kan toevoegen. Misschien kun je mij helpen?
Code (php)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
$naar = "[email protected]";
$naar = "[email protected]";
$email = $_POST['email'];
if(isset($_POST['verzend']))
{
if($_POST['naam'] == '')
{
echo "U heeft geen naam ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['email'] == '')
{
echo "U heeft geen e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['bericht'] == '')
{
echo "U heeft geen bericht ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['onderwerp'] == '')
{
echo "U heeft geen onderwerp ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"]))
{
echo "U heeft geen geldig e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
$bericht = "
<html>
<head>
<title>Contact</title>
</head>
<body>
Beste ".$_POST['naam']."<br>U heeft vandaag de volgende e-mail naar Eigen Naam gestuurd.
<br>
<br>
<hr width='100%'>
<table border='0' width='100%'>
<tr>
<td width='20%'>Het onderwerp:</td>
<td>".$_POST['onderwerp']."</td>
</tr>
<tr>
<td width='20%'>Het Bericht:</td>
<td>".$_POST['bericht']."</td>
</tr>
<tr>
<td width='20%'>Bedrijfsnaam:</td>
<td>".$_POST['bedrijfsnaam']."</td>
</tr>
<tr>
<td width='20%'>Straat:</td>
<td>".$_POST['straat']."</td>
</tr>
<tr>
<td width='20%'>Huisnummer:</td>
<td>".$_POST['huisnummer']."</td>
</tr>
<tr>
<td width='20%'>Postcode:</td>
<td>".$_POST['postcode']."</td>
</tr>
<tr>
<td width='20%'>Plaats:</td>
<td>".$_POST['plaats']."</td>
</tr>
<tr>
<td width='20%'>Telefoon:</td>
<td>".$_POST['telefoon']."</td>
</tr>
<tr>
<td width='20%'>Soort Groep:</td>
<td>".$_POST['soortgroep']."</td>
</tr>
<tr>
<td width='20%'>E-mail:</td>
<td>".$_POST['email']."</td>
</tr>
<tr>
<td width='20%'>Naam:</td>
<td>".$_POST['naam']."</td>
</tr>
</table>
<hr width='100%'>
</body>
</html>
";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
if(mail($naar, $_POST['onderwerp'],$bericht,$headers))
{
echo 'Uw Bericht is naar Eigen Naam verstuurd!<br>';
}
else
{
echo 'Uw bericht is helaas niet verstuurd.';
}
$ond = "Uw e-mail naar Eigen Naam; www.eigensite.nl";
if (mail($email,$ond,$bericht,$headers))
{
echo 'We hebben een e-mail naar u terug gestuurd! Bedankt voor uw reactie!';
}
else // Anders
{
echo 'Er is helaas geen bericht naar u gestuurd.';
}
}
}
}
else
{
?>
$naar = "[email protected]";
$naar = "[email protected]";
$email = $_POST['email'];
if(isset($_POST['verzend']))
{
if($_POST['naam'] == '')
{
echo "U heeft geen naam ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['email'] == '')
{
echo "U heeft geen e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['bericht'] == '')
{
echo "U heeft geen bericht ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
elseif($_POST['onderwerp'] == '')
{
echo "U heeft geen onderwerp ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["email"]))
{
echo "U heeft geen geldig e-mail adress ingevuld!<br />";
echo "<a href='javascript:history.back();' style='color: black; text-decoration:none;'>Klik hier om terug te gaan!</a>";
}
else
{
$bericht = "
<html>
<head>
<title>Contact</title>
</head>
<body>
Beste ".$_POST['naam']."<br>U heeft vandaag de volgende e-mail naar Eigen Naam gestuurd.
<br>
<br>
<hr width='100%'>
<table border='0' width='100%'>
<tr>
<td width='20%'>Het onderwerp:</td>
<td>".$_POST['onderwerp']."</td>
</tr>
<tr>
<td width='20%'>Het Bericht:</td>
<td>".$_POST['bericht']."</td>
</tr>
<tr>
<td width='20%'>Bedrijfsnaam:</td>
<td>".$_POST['bedrijfsnaam']."</td>
</tr>
<tr>
<td width='20%'>Straat:</td>
<td>".$_POST['straat']."</td>
</tr>
<tr>
<td width='20%'>Huisnummer:</td>
<td>".$_POST['huisnummer']."</td>
</tr>
<tr>
<td width='20%'>Postcode:</td>
<td>".$_POST['postcode']."</td>
</tr>
<tr>
<td width='20%'>Plaats:</td>
<td>".$_POST['plaats']."</td>
</tr>
<tr>
<td width='20%'>Telefoon:</td>
<td>".$_POST['telefoon']."</td>
</tr>
<tr>
<td width='20%'>Soort Groep:</td>
<td>".$_POST['soortgroep']."</td>
</tr>
<tr>
<td width='20%'>E-mail:</td>
<td>".$_POST['email']."</td>
</tr>
<tr>
<td width='20%'>Naam:</td>
<td>".$_POST['naam']."</td>
</tr>
</table>
<hr width='100%'>
</body>
</html>
";
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
if(mail($naar, $_POST['onderwerp'],$bericht,$headers))
{
echo 'Uw Bericht is naar Eigen Naam verstuurd!<br>';
}
else
{
echo 'Uw bericht is helaas niet verstuurd.';
}
$ond = "Uw e-mail naar Eigen Naam; www.eigensite.nl";
if (mail($email,$ond,$bericht,$headers))
{
echo 'We hebben een e-mail naar u terug gestuurd! Bedankt voor uw reactie!';
}
else // Anders
{
echo 'Er is helaas geen bericht naar u gestuurd.';
}
}
}
}
else
{
?>
<!-- Formulier weergeven -->
<center>Door middel van het onderstaande formulier kunt u snel contact met ons opnemen</center>
<br>
<br>
<table border='0' width='100%'>
<form method='post'>
<tr><td width="167">Bedrijfsnaam:</td><td width="208"><input type="text" name="bedrijfsnaam" class="is_required" /></td></tr>
<tr><td>Straat / Huisnummer:</td><td><input type="text" name="straat" class="is_required" /> / <input type="text" name="huisnummer" class="is_required" style="width:30px;" /></td></tr>
<tr><td>Postcode:</td><td><input type="text" name="postcode" class="is_required" /></td></tr>
<tr><td>Plaats:</td><td><input type="text" name="plaats" class="is_required" /></td></tr>
<tr><td>Telefoon:</td><td><input type="text" name="telefoon" class="is_required" /></td></tr>
<tr><td>Soort Groep</td><td><input type="text" name="soortgroep" class="is_required vemail" /></td></tr>
</tr>
<tr><td width='33%'>Naam:</td><td width="67%"><input type='text' name='naam' /></td></tr>
<tr><td width='33%'>E-mail adres:</td><td><input type='text' name='email' /></td></tr>
<tr><td width='33%'>Het onderwerp:</td><td><input type='text' name='onderwerp' /></td>
</tr>
<tr><td width='33%'>Het Bericht:</td><td><textarea name='bericht' cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit' value='Verzend' name='verzend' /></td>
</tr>
</form>
</table>
Gewijzigd op 03/09/2010 15:21:29 door Bart Lemmens
Wat is precies je bedoeling en waarom pdf in plaats van een gewoon emailbericht. Ikzelf heb fpdf toegepast om na een bestelling een factuur aan te maken en hiervan de hyperlink te emailen naar de klant en de factuur gaat tevens via een fax dienst (xoip) naar de keuken die de bestelling gereed maakt. Op basis van alle ingevulde velden maak nadat de klant op verzenden klikt de pdf en ik meld verder alleen netjes "hartelijk dank voor uw bestelling". Uiteraard is het ook mogelijk om met een header(location...) de pdf naar de browser te sturen. Het aanmaken van een pdf kan je vinden op de site van fpdf. Op basis van de examples heb ik het geleerd en gebouwd.
Zou het mogelijk zijn om jou (algemene) script hier te posten?
Mijn script moet het volgende kunnen:
iemand vul formulier in --> Pdf wordt aangemaakt en opgestuurt naar de bezoeker via e-mail en tegelijkertijd naar de eigenaar van site --> bezoeker/eigenaar kan pdf opslaan en later uitprinten.
(het zou ook handig zijn als script automatsich aan de naam van de gemaakte PDF een nieuwe nummer koppelt z.a 0001, 0002 etc. ik wil het graag gaan gebruiken bij een vereniging zodat er iemand opmerkingen kan plaatsen in van tevoren bekende formulier layout).
Hopelijk is het nu iets duidelijker geworden ;-)
Gr.
Toevoeging op 15/09/2010 12:57:16:
Aad B op 02/09/2010 20:44:52:
@Niek: mee eens, ik laat dan ook een gewone webform invullen en genereer de pdf na de submit.
Ik begrijp het niet hoe ik bovenstaande webformulier (PHP) naar fpdf.php kan linken. Als ik naar de tutorials op http://www.fpdf.org/ kijk dan zie ik geen webform dat omgezet wordt naar een PDF, het zijn allemaal PHP scripts, of zie ik het verkeerd. Heb ik een class nodig om het php-webformulier naar de fpdf.php te connecten?
Gewijzigd op 15/09/2010 11:19:28 door Bart Lemmens