Ik heb een mail formulier van het internet gehaald waar een bijlage bij kan worden gevoegd. Ik heb er een sollicitatie formulier van gemaakt voor het bedrijf waar ik voor werk. Het formulier bestaat uit 4 bestanden
- class.phpmailer.php
- class.smtp.php
- config_inc.php
- contact.php
Nou is mijn kennis van php vrij beperkt en ik heb geen idee meer waar het formulier vandaan komt. Het werkt fantastisch, maar hij voegt niet alle bijlagen goed bij. Een .txt gaat goed maar bij bijvoorbeeld een PDF zegt hij dat het bestand niet toegevoegd mag worden. Terwijl in contact.php een regel staat dat hij alle bestanden wat eindigt op .doc .txt of .pdf toe moet laten en de rest blokkeren.
Mijn vraag is dus hoe zorg ik dat hij wel de juiste bestanden toelaat of hoe gooi ik die beperking van bestanden eruit? Heb zelf al wat geknutseld maar daar wordt het niet beter van
.
contact.php script:
Ik heb de pagina er uit gehaald en alleen het bovenste deel gepost, als je kijkt naar de geaccepteerde MIME files, dan staat er dat hij ze toe moet voegen, of heb ik de MIME types verkeerd geformuleerd?
- class.phpmailer.php
- class.smtp.php
- config_inc.php
- contact.php
Nou is mijn kennis van php vrij beperkt en ik heb geen idee meer waar het formulier vandaan komt. Het werkt fantastisch, maar hij voegt niet alle bijlagen goed bij. Een .txt gaat goed maar bij bijvoorbeeld een PDF zegt hij dat het bestand niet toegevoegd mag worden. Terwijl in contact.php een regel staat dat hij alle bestanden wat eindigt op .doc .txt of .pdf toe moet laten en de rest blokkeren.
Mijn vraag is dus hoe zorg ik dat hij wel de juiste bestanden toelaat of hoe gooi ik die beperking van bestanden eruit? Heb zelf al wat geknutseld maar daar wordt het niet beter van
contact.php script:
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
| <script language="php"> include "config_inc.php"; $foutvoorl="*"; $foutnaam="*"; $fouttel="*"; $foutEmail="*"; $fout=""; if ($_SERVER['REQUEST_METHOD'] == 'POST') { //Markering: $mark="<span style=\"color: red; font-size: 150%; font-weight_bold\">*</span>"; $geslacht= $_POST['geslacht']; $naam= stripslashes($_POST['naam']); $adres= stripslashes($_POST['adres']); $postcode= $_POST['postcode']; $woonplaats= stripslashes($_POST['woonplaats']); $telefoon= $_POST['telefoon']; $strEmail= $_POST['strEmail']; $opmerkingen= stripslashes($_POST['opmerkingen']); $opleidingen= stripslashes($_POST['opleidingen']); $werkervaring= stripslashes($_POST['werkervaring']); $motivatie= stripslashes($_POST['motivatie']); $functie= $_POST['functie']; $file = $_FILES['strFile']['tmp_name']; $file_name = $_FILES['strFile']['name']; $file_type = $_FILES['strFile']['type']; //Niet gebruikt $file_size = $_FILES['strFile']['size']; //Niet gebruikt //Spam met emailadressen in diverse velden of alle velden met zelfde inhoud $spamstring=$naam.$woonplaats.$opmerkingen.$adres; if (is_integer(strpos (strtolower($spamstring), "@")) or ($naam!="" and ($woonplaats==$naam or $adres==$naam))){ echo "Fatal error"; exit; } if ($naam=="") { $fout="U heeft niet alle gemarkeerde velden ingevuld. "; $foutnaam=$mark;} if ($telefoon=="") { $fout="U heeft niet alle gemarkeerde velden ingevuld. "; $fouttel=$mark;} if ($strEmail=="") { $fout="U heeft niet alle gemarkeerde velden ingevuld. "; $foutEmail=$mark;} if (($telefoon!="") and (!ereg("[0-9]{10}",$telefoon))) { $fout.="Telefoonnr niet correct. "; $fouttel="<span style=\"color: red;\">Vul in als 10 cijfers, zonder spaties</span>";} //NB E-mail-validatie is nooit 100% compleet. Deze werkt bijna altijd: if (!$strEmail=="" && (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $strEmail))) { $fout.="Ondeugdelijk emailadres!"; $foutEmail=$mark;} //Beperk upload tot bepaalde mime-types. if (!$_FILES['strFile']['name']=="") { $acceptedTypes = array('text/plain', 'text/plain asc txt', 'text/richtext rtx', 'text/rtf rtf', 'text/enriched', 'text/rfc822-headers', 'application/pdf pdf', 'application/msword doc', 'application/rtf rtf'); if(!in_array($_FILES['strFile']['type'], $acceptedTypes) || trim($_FILES['strFile']['tmp_name']) == "" || trim($_FILES['strFile']['tmp_name']) =="none") { $fout.=$_FILES['strFile']['name']." is geen geldig bestand (Het moet een TXT, Word of PDF-file zijn). "; } } } //Van POST </script> |
Ik heb de pagina er uit gehaald en alleen het bovenste deel gepost, als je kijkt naar de geaccepteerde MIME files, dan staat er dat hij ze toe moet voegen, of heb ik de MIME types verkeerd geformuleerd?
[ Voor 65% gewijzigd door gscholman op 13-06-2007 09:44 ]