Formmail niet doorgestuurd naar mail inbox

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen Vaessen

Jeroen Vaessen

29/06/2011 11:41:02
Quote Anchor link
Ik heb een website waarbij ik gebruik wil maken van een contactformulier. Wanneer ik het contactformulier invul en vervolgens op de 'verzenden' knop klik kom ik wel op het 'thankyou' scherm, en zou het dus werken. Ik krijg de informatie echter niet naar het emailadres verzonden welke ik in het .php script heb opgegeven. Ik heb van alles geprobeerd maar weet niet wat er mis is, heeft iemand een idee?

Dit is het script:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<META HTTP-EQUIV="refresh" content="0;URL=thankyou.html">
<title>Email Form</title>
</head>

<body>
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
<?php
  $name
=addslashes($_POST['name']);
  $email=addslashes($_POST['email']);
  $comments=addslashes($_POST['message']);

  $toemail = "[email protected]";
  $subject = "Bericht via contactformulier";

  $headers = "MIME-Version: 1.0\n"
            ."From: \"".$name."\" <".$email.">\n"
            ."Content-type: text/html; charset=iso-8859-1\n";

  $body = "Name: ".$name."<br>\n"
            ."Email: ".$email."<br>\n"
            ."Comments:<br>\n"
            .$comments;

  if (!ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $email))
  {

    echo "That is not a valid email address.  Please return to the"
           ." previous page and try again.";
    exit;
  }


    mail($toemail, $subject, $body, $headers);
    echo "Thanks for submitting your comments";
?>

</body>
</html>
 
PHP hulp

PHP hulp

18/12/2024 11:50:33
 
- SanThe -

- SanThe -

29/06/2011 12:02:03
Quote Anchor link
De functie ereg() moet je niet gebruiken, die is antiek. Gebruik preg_match(). Verder zijn de mailheaders niet correct en controleer je ook niet of mail() een error geeft.
http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders
 
Jeroen Vaessen

Jeroen Vaessen

29/06/2011 13:34:48
Quote Anchor link
Hoi SanThe,

ereg() kan ik dan gewoon zo vervangen met de woorden preg_match? Helaas ben ik nog vrij nieuw met alle internet termen en technieken en weet ik niet precies hoe ik de headers e.d. goed moet zetten, ik heb wat geprobeerd, maar nu werkt het helemaal niet meer.
 
Obelix Idefix

Obelix Idefix

29/06/2011 14:40:09
Quote Anchor link
Er zitten kleine verschillen tussen preg_match en ereg. Even Googlen.
Gebruik anders php-mailer of swiftmailer ipv de mailfunctie van php.
 
S shans

s shans

03/07/2011 20:43:24
Quote Anchor link
www.php.net
Gewijzigd op 04/07/2011 02:28:15 door s shans
 

03/07/2011 20:47:05
 
- SanThe -

- SanThe -

03/07/2011 20:47:20
Quote Anchor link
Lees eens over superglobals en zie verder:
 



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.