From email bij contactform

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen de wilde

Jeroen de wilde

19/10/2015 16:20:17
Quote Anchor link
Beste webmasters

Ik heb een contactformulier maar het from email werkt niet.
Hopelijk kunnen jullie me helpen.

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
<!-- Contact -->
<? if (isset($_POST["submit"])) {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $datum = $_POST['datum'];
        $aantal = $_POST['aantal'];
        $message = $_POST['message'];
        $tel = $_POST['tel'];
        $human = intval($_POST['human']);
        $from = '[email protected]';
        $to = '[email protected]';
        $subject = 'Reservatie via de website';

        $body ="Van: $name\n E-Mail: $email\n Tel: $tel\n Datum: $datum\n Aantal: $aantal\n   Extra:\n $message ";
        // Check if name has been entered
        if (!$_POST['name']) {
            $errName = 'Voer uw naam in';
        }

        
        // Check if email has been entered and is valid
        if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            $errEmail = 'Voer een geldig e-mailadres in!';
        }

        
        //Check if message has been entered
        if (!$_POST['tel']) {
            $errTel = 'Voer uw telefoonnummer in';
        }

        //Check if message has been entered
        if (!$_POST['voorname']) {
            $errVoorName = 'Voer uw naam in';
        }

        //Check if simple anti-bot test is correct
        if ($human !== 5) {
            $errHuman = 'Your anti-spam is incorrect';
        }

// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
    if (mail ($to, $subject, $body, $from)) {
        $result='<div class="alert alert-success">We hebben uw bericht goed ontvangen. Wij bekijken dit zo spoedig mogelijk</div>';
    }
else {
        $result='<div class="alert alert-danger">Oeps er liep iets mis :(</div>';
    }
}
    }

?>
 
PHP hulp

PHP hulp

26/04/2024 01:26:28
 
- SanThe -

- SanThe -

19/10/2015 16:25:57
Quote Anchor link
Jeroen de wilde op 19/10/2015 16:20:17:
.. maar het from email werkt niet.


Hoe bedoel je dat?

http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
 
- Ariën  -
Beheerder

- Ariën -

19/10/2015 16:26:19
Quote Anchor link
Er missen goede headers in je $from.
Zie ook; http://php.net/manual/en/function.mail.php en dan Example #2.

Persoonlijk zou ik een mailer gebruik zoals phpMailer, gezien die object-gerienteerd is, en waarmee de mail makkelijker op te bouwen is, met de juiste headers.
 
Mario Braam

Mario Braam

19/10/2015 16:37:10
Quote Anchor link
Ik vind het altijd fijn dat als ik een formulier verstuur, dat ik meteen alle foutmeldingen in één keer te zien krijg. Zo voorkom je dat bij de eerste keer versturen een veld niet is ingevoerd, en bij de tweede keer het e-mailadres ongeldig blijkt.

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
<?php
$errors
= array();
if(// field empty)
    $errors[] = 'Foutmelding';
if(// not a valid email)
    $errors[] = 'Geen geldig e-mailadres';

if(isset($errors) && count($errors) >= 1)
{

    foreach($errors as $each)
    {

        echo '<p>'.$each.'</p>';
    }
}


// mailheaders
$headers = 'From: Company <[email protected]>'."\r\n";
$headers .= 'Reply-To: Company <[email protected]>'."\r\n";
$headers .= 'Organization: Company'."\r\n";
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-Type: text/plain; charset=iso-8859-1'."\r\n";
$headers .= 'X-Priority: 3'."\r\n";
$headers .= 'X-Mailer: PHP/'.phpversion();

mail('[email protected]', 'subject', 'content', $headers);
?>
 



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.