Gegevens Formulier naar Email sturen
Alvast bedankt!!!
Dit is mijn HTML code.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<form action="test.php" method="post">
Voornaam:<br>
<input type="text" name="voornaam"><br>
Achternaam:<br>
<input type="text" name="achternaam"><br>
Email:<br>
<input type="text" name="email"><br>
Bericht:<br>
<textarea name="bericht" rows="5">
</textarea> <br>
<input type="submit" value="Verzend">
</form>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<form action="test.php" method="post">
Voornaam:<br>
<input type="text" name="voornaam"><br>
Achternaam:<br>
<input type="text" name="achternaam"><br>
Email:<br>
<input type="text" name="email"><br>
Bericht:<br>
<textarea name="bericht" rows="5">
</textarea> <br>
<input type="submit" value="Verzend">
</form>
</body>
</html>
Gewijzigd op 17/10/2017 16:36:51 door - Ariën -
Maar voor dit soort complexe vragen gebruik ik meestal de zoekfunctie :
https://www.google.nl/search?q=php+email+form
We willen je graag helpen, maar zelf wat zoekwerk uitvoeren vinden we ook erg fijn.
Verder heb ik even wat code-tags geplaatst. Gelieve deze zelf toe te voegen in het vervolg. Zie ook de UBB-codes in de 'Veelgestelde Vragen'.
PS het is e-mail niet Email
- Ariën - op 17/10/2017 16:39:43:
Inderdaad, wat Adaptive Solution zegt...
We willen je graag helpen, maar zelf wat zoekwerk uitvoeren vinden we ook erg fijn.
Verder heb ik even wat code-tags geplaatst. Gelieve deze zelf toe te voegen in het vervolg. Zie ook de UBB-codes in de 'Veelgestelde Vragen'.
We willen je graag helpen, maar zelf wat zoekwerk uitvoeren vinden we ook erg fijn.
Verder heb ik even wat code-tags geplaatst. Gelieve deze zelf toe te voegen in het vervolg. Zie ook de UBB-codes in de 'Veelgestelde Vragen'.
Hallo iedereen, bedankt voor de snelle reacties! Ik zal even wat verduidelijken:
Het is inderdaad voor school. We moeten (vwo4) een website maken. We hebben javascript, html en css gehad. Alle andere talen mocht je opzoeken. Automatisch e-mails versturen kan alleen via php had ik gelezen. Ik heb (heel) veel op internet rondgekeken, YouTube filmpjes gekeken en veel dingen geprobeerd, maar niets lukte. Dus daarom dit forum.....
Ik heb de volgende code gevonden, maar die werkt niet. Als er iemand tijd over heeft, en er even naar zou willen kijken, zou je me er erg mee helpen!!!!
[email protected] is btw niet mijn echte email adress.
Groetjes Maarten
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
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
<?php
if(isset($_POST['submit'])){
$to = "[email protected]"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
// You can also use header('Location: thank_you.php'); to redirect to another page.
}
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
if(isset($_POST['submit'])){
$to = "[email protected]"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
// You can also use header('Location: thank_you.php'); to redirect to another page.
}
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
Gewijzigd op 17/10/2017 18:32:22 door Vraag PHP
http://wiki.phpbeginners.nl/index.php?title=De_juiste_mailheaders
Verder raad ik aan om error_reporting op E_ALL te zetten, en display_errors aan te zetten.
Een mooie if-else om je mail() functie kan ook geen kwaad, zodat je zeker weet of de functie zijn werk gedaan heeft, in plaats van zelf maar te bepalen dat de mail verzonden is.
- vanaf de eigen computer gaat het niet zomaar werken. Je mailserver (afhankelijk van het besturingssysteem) moet geïnstalleerd zijn, gestart zijn en juist geconfigureerd zijn.
- vanaf de hosting provider is het raadzaam om eens goed de FAQ's door te lezen. Sommige ondersteunen de php mail() functie helemaal niet en bieden slechts een SMTP server aan en sommige hebben een rijtje voorwaarden waaraan je moet voldoen. één van de veel voorkomende voorwaarden is dat de FROM: een bestaande mailbox moet zijn bij de hosting provider. Mocht de hosting provider inderdaad alleen SMTP ondersteunen dan zul je PHPMailer nodig hebben om je mail te versturen. Daar kunnen we je eventueel wel bij helpen maar je moet dan wel weer goed de settings HOST, PORT, ENCRYPTIE, LOGINNAAM, PASSWORD weten.
Tip:
Neem onderstaande test script even over en probeer hiermee een eerste mail te sturen.
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
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
<?php
/*
* TEST JE EMAIL
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
/*
* INDIEN MOGELIJK VUL HIER ONDER BIJVOORKEUR EEN BESTAAND EMAILADRES IN DAT EINDIGT OP JE EIGEN DOMEINNAAM
*
* Voorbeeld:
*
* Je domeinnaam is phphulp.nl
* Je hebt een mailadres aangemaakt: [email protected]
* $from = '[email protected]';
*/
$from = '[email protected]';
/*
* WAAR WIL JE JE TESTMAIL HEEN STUREN?
*/
$to = '[email protected]';
$subject = 'PHP Mail Test script';
$message = 'Dit mailtje is een testbericht.';
$headers = 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers)) {
echo 'Testmail is verzonden naar ' . $to;
} else {
echo 'Het verzenden van de mail is MISLUKT!';
}
?>
/*
* TEST JE EMAIL
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
/*
* INDIEN MOGELIJK VUL HIER ONDER BIJVOORKEUR EEN BESTAAND EMAILADRES IN DAT EINDIGT OP JE EIGEN DOMEINNAAM
*
* Voorbeeld:
*
* Je domeinnaam is phphulp.nl
* Je hebt een mailadres aangemaakt: [email protected]
* $from = '[email protected]';
*/
$from = '[email protected]';
/*
* WAAR WIL JE JE TESTMAIL HEEN STUREN?
*/
$to = '[email protected]';
$subject = 'PHP Mail Test script';
$message = 'Dit mailtje is een testbericht.';
$headers = 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers)) {
echo 'Testmail is verzonden naar ' . $to;
} else {
echo 'Het verzenden van de mail is MISLUKT!';
}
?>
Toevoeging op 17/10/2017 23:53:27:
Onthoudt tevens dat als het script zegt dat de mail succesvol verstuurt is dit nog geen enkele garantie is dat een mail ook bij de ontvanger aankomt.
Gewijzigd op 17/10/2017 23:51:42 door Frank Nietbelangrijk
Frank Nietbelangrijk op 17/10/2017 23:47:57:
Het vervelende van email versturen vanuit PHP is dat er veel factoren zijn waarmee het mis kan gaan.
- vanaf de eigen computer gaat het niet zomaar werken. Je mailserver (afhankelijk van het besturingssysteem) moet geïnstalleerd zijn, gestart zijn en juist geconfigureerd zijn.
- vanaf de hosting provider is het raadzaam om eens goed de FAQ's door te lezen. Sommige ondersteunen de php mail() functie helemaal niet en bieden slechts een SMTP server aan en sommige hebben een rijtje voorwaarden waaraan je moet voldoen. één van de veel voorkomende voorwaarden is dat de FROM: een bestaande mailbox moet zijn bij de hosting provider. Mocht de hosting provider inderdaad alleen SMTP ondersteunen dan zul je PHPMailer nodig hebben om je mail te versturen. Daar kunnen we je eventueel wel bij helpen maar je moet dan wel weer goed de settings HOST, PORT, ENCRYPTIE, LOGINNAAM, PASSWORD weten.
Tip:
Neem onderstaande test script even over en probeer hiermee een eerste mail te sturen.
Toevoeging op 17/10/2017 23:53:27:
Onthoudt tevens dat als het script zegt dat de mail succesvol verstuurt is dit nog geen enkele garantie is dat een mail ook bij de ontvanger aankomt.
- vanaf de eigen computer gaat het niet zomaar werken. Je mailserver (afhankelijk van het besturingssysteem) moet geïnstalleerd zijn, gestart zijn en juist geconfigureerd zijn.
- vanaf de hosting provider is het raadzaam om eens goed de FAQ's door te lezen. Sommige ondersteunen de php mail() functie helemaal niet en bieden slechts een SMTP server aan en sommige hebben een rijtje voorwaarden waaraan je moet voldoen. één van de veel voorkomende voorwaarden is dat de FROM: een bestaande mailbox moet zijn bij de hosting provider. Mocht de hosting provider inderdaad alleen SMTP ondersteunen dan zul je PHPMailer nodig hebben om je mail te versturen. Daar kunnen we je eventueel wel bij helpen maar je moet dan wel weer goed de settings HOST, PORT, ENCRYPTIE, LOGINNAAM, PASSWORD weten.
Tip:
Neem onderstaande test script even over en probeer hiermee een eerste mail te sturen.
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
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
<?php
/*
* TEST JE EMAIL
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
/*
* INDIEN MOGELIJK VUL HIER ONDER BIJVOORKEUR EEN BESTAAND EMAILADRES IN DAT EINDIGT OP JE EIGEN DOMEINNAAM
*
* Voorbeeld:
*
* Je domeinnaam is phphulp.nl
* Je hebt een mailadres aangemaakt: [email protected]
* $from = '[email protected]';
*/
$from = '[email protected]';
/*
* WAAR WIL JE JE TESTMAIL HEEN STUREN?
*/
$to = '[email protected]';
$subject = 'PHP Mail Test script';
$message = 'Dit mailtje is een testbericht.';
$headers = 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers)) {
echo 'Testmail is verzonden naar ' . $to;
} else {
echo 'Het verzenden van de mail is MISLUKT!';
}
?>
/*
* TEST JE EMAIL
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
/*
* INDIEN MOGELIJK VUL HIER ONDER BIJVOORKEUR EEN BESTAAND EMAILADRES IN DAT EINDIGT OP JE EIGEN DOMEINNAAM
*
* Voorbeeld:
*
* Je domeinnaam is phphulp.nl
* Je hebt een mailadres aangemaakt: [email protected]
* $from = '[email protected]';
*/
$from = '[email protected]';
/*
* WAAR WIL JE JE TESTMAIL HEEN STUREN?
*/
$to = '[email protected]';
$subject = 'PHP Mail Test script';
$message = 'Dit mailtje is een testbericht.';
$headers = 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers)) {
echo 'Testmail is verzonden naar ' . $to;
} else {
echo 'Het verzenden van de mail is MISLUKT!';
}
?>
Toevoeging op 17/10/2017 23:53:27:
Onthoudt tevens dat als het script zegt dat de mail succesvol verstuurt is dit nog geen enkele garantie is dat een mail ook bij de ontvanger aankomt.
Hallo Frank, bedankt voor je reactie. Ik heb echt totaal geen verstand van PHP. Ik heb jouw code toegevoegd, en dit zou het dan moeten worden??
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
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
<?php
/*
* TEST JE EMAIL
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
/*
* INDIEN MOGELIJK VUL HIER ONDER BIJVOORKEUR EEN BESTAAND EMAILADRES IN DAT EINDIGT OP JE EIGEN DOMEINNAAM
*
* Voorbeeld:
*
* Je domeinnaam is phphulp.nl
* Je hebt een mailadres aangemaakt: [email protected]
* $from = '[email protected]';
*/
$from = '[email protected]';
/*
* WAAR WIL JE JE TESTMAIL HEEN STUREN?
*/
$to = '[email protected]';
$subject = 'PHP Mail Test script';
$message = 'Dit mailtje is een testbericht.';
$headers= 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers)) {
echo 'Testmail is verzonden naar ' . $to;
} else {
echo 'Het verzenden van de mail is MISLUKT!';
}
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
/*
* TEST JE EMAIL
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
/*
* INDIEN MOGELIJK VUL HIER ONDER BIJVOORKEUR EEN BESTAAND EMAILADRES IN DAT EINDIGT OP JE EIGEN DOMEINNAAM
*
* Voorbeeld:
*
* Je domeinnaam is phphulp.nl
* Je hebt een mailadres aangemaakt: [email protected]
* $from = '[email protected]';
*/
$from = '[email protected]';
/*
* WAAR WIL JE JE TESTMAIL HEEN STUREN?
*/
$to = '[email protected]';
$subject = 'PHP Mail Test script';
$message = 'Dit mailtje is een testbericht.';
$headers= 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers)) {
echo 'Testmail is verzonden naar ' . $to;
} else {
echo 'Het verzenden van de mail is MISLUKT!';
}
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
Dit werkt helaas ook niet. Je zegt ook dat er een grote kans is dat mailtjes niet aankomen. Ik denk dat het dan handiger is om een comment system te maken waarop mensen een reactie achter kunnen laten, die dan op de admin pagina wordt geplaats.
Gewijzigd op 18/10/2017 10:19:57 door - Ariën -
- Ariën - op 18/10/2017 10:19:03:
Gebruik je dit script lokaal op je eigen computer, of bij een hostingprovider? En staan ze gewoon niet in de spam-box?
Hallo Ariën, ik gebruik het script op mijn eigen computer. Ik gebruik geen hostingprovider. Ze staan ook niet in de spam-box.
Welk php dingetje gebruik je? WAMP, XAMMP, Laragon?
Verder moet je wel je formulier aan je mail script knopen anders heeft dat formulier niet zoveel zin.
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
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
<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$from = $_POST['email'];
$to = 'JOU_EIGEN_EMAIL';
$subject = $_POST['first_name'].' '.$_POST['last_name'].'heeft je een mail gestuurd.';
$message = $_POST['message'];
$headers= 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers))
{
echo 'Testmail is verzonden naar ' . $to;
}
else
{
echo 'Het verzenden van de mail is MISLUKT!';
}
}
else
{
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
<?php
}
?>
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$from = $_POST['email'];
$to = 'JOU_EIGEN_EMAIL';
$subject = $_POST['first_name'].' '.$_POST['last_name'].'heeft je een mail gestuurd.';
$message = $_POST['message'];
$headers= 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if(mail($to,$subject,$message, $headers))
{
echo 'Testmail is verzonden naar ' . $to;
}
else
{
echo 'Het verzenden van de mail is MISLUKT!';
}
}
else
{
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
<?php
}
?>
EDIT Typo weggehaald
Gewijzigd op 18/10/2017 11:52:39 door Bart V B
Oke. Bedankt @Bart voor je reactie. Ik heb geen idee of ik WAMP, XAMMP of Laragon gebruik. Als ik jullie zo hoor is er geen garantie dat het gaat lukken. Ik denk dat het beter is om met comments te gaan werken.
Wat meldt de output van phpinfo() over de mail-settings?
Gewijzigd op 18/10/2017 15:34:03 door - Ariën -
Het volgende klopt niet:
Vraag PHP op 17/10/2017 18:12:48:
Automatisch e-mails versturen kan alleen via php had ik gelezen.
Het is niet eens PHP zelf die de e-mail verstuurt. Het enige wat PHP doet is een mailopdracht geven aan een ander proces die deze verder af kan handelen. Wanneer je bijvoorbeeld WAMP (dit is zeg maar een webserverpakket voor de doe-het-zelver met PHP- en MySQL-ondersteuning) installeert, zul je deze nog steeds moeten configureren om te kunnen mailen.
Als je dit op je eigen PC doet die via je kabelboer (Ziggo, KPN, noem het maar op) in verbinding staat met het internet zou dit zo eenvoudig kunnen zijn als het configureren van de SMTP-instellingen (de mail-instellingen) van je Internet Service Provider (ISP).
Een alternatief is dat je bijvoorbeeld een verbinding maakt met jouw e-mail service, bijvoorbeeld gmail. Maar het versturen van e-mail werkt eigenlijk nooit "out of the box", hier zul je het een en ander voor moeten instellen...
Weer een ander alternatief zou het aanschaffen van een webhostingpakket (al dan niet met eigen domeinnaam) zijn, hier zit mail-functionaliteit vrijwel altijd bij inbegrepen.
Daarnaast, elk "server side proces" wat jouw formulier kan opvangen en verder kan verwerken zou dit potentieel kunnen doorgeven aan een mailapplicatie. Je bent dus niet per sé gelimiteerd tot PHP (en zoals gezegd, PHP regelt het versturen van de mail niet zelf).
Gewijzigd op 18/10/2017 16:05:30 door Thomas van den Heuvel
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$error = null;
$from = $_POST['email'];
$to = 'JOU_EIGEN_EMAIL';
$subject = $_POST['first_name'] . ' ' . $_POST['last_name'] . 'heeft je een mail gestuurd.';
$message = $_POST['message'];
$headers = 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if (mail($to, $subject, $message, $headers))
{
// redirect de gebruiker naar bedankt.html
header('Location: bedankt.html');
exit;
} else
{
$error = 'De mail kon helaas niet verzonden worden.';
}
}
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
<?php if($error) echo '<strong>' . $error . '</strong>'; ?>
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$error = null;
$from = $_POST['email'];
$to = 'JOU_EIGEN_EMAIL';
$subject = $_POST['first_name'] . ' ' . $_POST['last_name'] . 'heeft je een mail gestuurd.';
$message = $_POST['message'];
$headers = 'From: ' . $from . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'X-Priority: Normal' . "\r\n";
if (mail($to, $subject, $message, $headers))
{
// redirect de gebruiker naar bedankt.html
header('Location: bedankt.html');
exit;
} else
{
$error = 'De mail kon helaas niet verzonden worden.';
}
}
?>
<!DOCTYPE html>
<head>
<title>Form submission</title>
</head>
<body>
<form action="" method="post">
<?php if($error) echo '<strong>' . $error . '</strong>'; ?>
First Name: <input type="text" name="first_name"><br>
Last Name: <input type="text" name="last_name"><br>
Email: <input type="text" name="email"><br>
Message:<br><textarea rows="5" name="message" cols="30"></textarea><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
Zorg dat die bedankt.html er wel bij zit en dan krijg jij heus een voldoende. Cheers
Toevoeging op 18/10/2017 20:59:16:
Tip: Zet nog even de meta charset in je <head> sectie:
Gewijzigd op 18/10/2017 21:00:50 door Frank Nietbelangrijk
En dan controleren of $from wel gevuld is.
Als je dat niet doet zou iemand ook als mail adres kunnen opgeven:
'[email protected]
BCC: [email protected], [email protected], [email protected]
Subject: here is some spam!
Buy my stuff
';
Dus daarmee neemt iemand zo je mail formulier over
Frank Nietbelangrijk op 18/10/2017 20:46:17:
Maarten je zou de gok kunnen nemen je script gewoon zo in te leveren. Je leraar gaat als ik het allemaal zo lees toch niet bij jou thuis testen of het werkt.
Toen ik op school zat (MBO ICT Niveau 3) kwam de leraar ook kijken, en moesten we ons geprogrammeerde spul demonstreren, alsof de leraar de klant was.
Ik weet niet hoe de controle bij jullie op school is. Maar als het enkel inleveren is, dan zou ik dat ook gewoon doen, met het extra advies wat Frank je gegeven heeft. ZO niet, dan zou ik eens kijken hoe je SMTP werken kan krijgen op je server.
Het hoeft niet heel complex te zijn als je een bestaande SMTP-server van je provider gebruikt.
Groeten Maarten