file upload in mailformulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny A-noniem

Danny A-noniem

14/01/2011 16:20:36
Quote Anchor link
Hallo.
ik heb een scriptje om te gebruiken voor een formmail.
gemaakt via http://www.php-solutions.nl/scripts/formulier-generator/
dit werkt heel goed.
nu zou ik er graag nog een functie bij hangen om een foto/plaatje te kunnen toevoegen.
dus mensen die dit form dan invullen er dan ook meteen een foto bij kunnen hangen.
ik heb diverse dingen geprobeerd, maar het gaat niet zoals het zou moeten haha.
dit is het script, ( heb hem ff gekort)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

    if(function_exists('date_default_timezone_set')) { date_default_timezone_set('Europe/Amsterdam'); }
    define('LF', "\n");

    // Get a value from the $_POST array (case insensitive!!)
    function getPost($key, $trim = false, $lowercase = false, $int = false)
    {

        if(isset($_POST[$key]))
        {

            $v = stripslashes($_POST[$key]);

            if($trim)
            {

                $v = trim($v);
            }


            if($int)
            {

                $v = intval($v);
            }

            elseif($lowercase)
            {

                $v = strtolower($v);
            }


            return $v;
        }

        
        return '';
    }


    // Default values
    $field_1 = '';
    $field_2 = '';
    $field_3 = '';
    $field_4 = '';

    $sHtml = '';
    $sFormError = '';

    // Process form
    if(empty($_POST['form']) == false)
    {

        $field_1 = getPost('field_1', true);
        if(strlen($field_1) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
        $field_2 = getPost('field_2', true);
        $field_3 = getPost('field_3', true);
        if(strlen($field_3) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
        $field_4 = getPost('field_4', true);
        if(strlen($field_4) == 0) { $sFormError = 'Vink a.u.b. alle verplichte velden aan.'; }
        if(in_array($field_4, array('nl', 'be', 'de')) == false) { $sFormError = 'Selecteer a.u.b. een geldige waarde.'; }
    }


    // Show form
    if(empty($_POST['form']) || $sFormError)
    {

        $sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
<h1>Vul a.u.b. het onderstaande formulier in</h1>
'
. $sFormError . '
<table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" valign="top">naam *</td>
<td align="left" valign="top"><input name="field_1" type="text" value="'
. htmlentities($field_1) . '"></td>
</tr>
<tr>
<td align="left" valign="top">adres</td>
<td align="left" valign="top"><input name="field_2" type="text" value="'
. htmlentities($field_2) . '"></td>
</tr>
<tr>
<td align="left" valign="top">woonplaat *</td>
<td align="left" valign="top"><input name="field_3" type="text" value="'
. htmlentities($field_3) . '"></td>
</tr>
<tr>
<td align="left" valign="top">land *</td>
<td align="left" valign="top"><select name="field_4"><option'
. ((strcmp($field_4, 'nl') === 0) ? ' selected="selected"' : '') . ' value="nl">nl</option><option' . ((strcmp($field_4, 'be') === 0) ? ' selected="selected"' : '') . ' value="be">be</option><option' . ((strcmp($field_4, 'de') === 0) ? ' selected="selected"' : '') . ' value="de">de</option></select></td>
</tr>
<tr>
<td align="left" valign="top">&nbsp;</td>
<td align="left" valign="top"><input type="submit" value="Verzenden"></td>
</table>
</form>'
;
    }

    else // Send form
    {
        $mail_to = '[email protected]';
        $mail_from = '[email protected]';
        $mail_subject = 'info@mijn domein';
        $mail_message = 'Formuliergegevens: ' . LF . LF
. 'naam:                   ' . $field_1 . LF
. 'adres:                  ' . $field_2 . LF
. 'woonplaat:              ' . $field_3 . LF
. 'land:                   ' . $field_4 . LF
. LF
. 'IP: ' . $_SERVER['REMOTE_ADDR'] . ', Datum: ' . date('d-m-Y') . ', Tijd: ' . date('H:i:s');

        mail($mail_to, $mail_subject, $mail_message, 'From: ' . $mail_from);

        $sHtml .= '<h1>Formulier verzonden</h1><p>Hartelijk dank voor het invullen van het formulier.</p>';
    }


    echo $sHtml;

?>

hoe moet ik dat nu voor elkaar boxen?
 
PHP hulp

PHP hulp

24/11/2024 10:14:54
 
Bas Cost Budde

Bas Cost Budde

14/01/2011 16:23:36
Quote Anchor link
gebruik een input type="file", en zet enctype="multipart/form-data" in je form.

Hier wil je kijken:
http://nl.php.net/manual/en/features.file-upload.php
 
- SanThe -

- SanThe -

14/01/2011 16:27:48
Quote Anchor link
Opmerking:
Waarom define('LF', "\n");
PHP heeft dat reeds zelf: PHP_EOL.
 
Danny A-noniem

Danny A-noniem

14/01/2011 16:32:21
Quote Anchor link
oke maar dat is een upload he,
dit form word verstuurd via mail, zou dan graag de foto in de mail als bijlage.
@ santhe ik weet het niet ik hem hem gebruikt van een generator en mijn eigen form is pakweg een 50 regels langer om in te vullen, vandaar dat ik deze eigenlijk ff lekker zo laat en hoop er een manier te vinden om fotos als bijlage te kunnen versturen.

of kijk ik nu met een scheel oog?? ;-)
 
Bas Cost Budde

Bas Cost Budde

14/01/2011 16:32:48
Quote Anchor link
Waar stonden al die voorgedefinieerde constanten nou?

Toevoeging op 14/01/2011 16:35:53:

form wordt verstuurd via mail... nou en? Dan heb je dat plaatje toch ook nodig in de compositie van de mail, dus moet het op de server staan, dus is het eerst een upload.
 
Danny A-noniem

Danny A-noniem

14/01/2011 19:56:42
Quote Anchor link
oja natuurlijk.
je hebt gelijk zo heb ik dat nog niet gezien..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.