HTML Forum met PHP emailverzenden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jinte Michiels

Jinte Michiels

05/02/2016 11:49:06
Quote Anchor link
Hallo allemaal ik heb volgende code gevonden door tutorials en forumberichten.
Ik geraak er echter niet uit hoe het moet.

HTML code van het formulier: (formulier2.html)
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
<form action="mailservice2.php" method="get">
Familienaam van deelnemer: <font color="red">*</font><br>
<input type="text" name="name" id="name"></input><br>
<br>

Voornaam van deelnemer: <font color="red">*</font><br>
<input type="text" name="firstname" id="firstname"></input><br>
<br>

E-mail van de ouders: <font color="red">*</font><br>
<input type="text" name="mail" id="mail"></input><br>
<br>

Telefoonnummer van de ouders: <font color="red">*</font><br>
<input type="text" name="tel" id="tel"></input><br>
<br>

Maat t-shirt: <font color="red">*</font><br>
<select name="tshirt" id="tshirt">
  <option value="Small">S</option>
  <option value="Medium">M</option>
  <option value="Large">L</option>
  <option value="eXtra Large">XL</option>
</select><br>
<br>

Eventuele extra info: (niet verplicht)<br>
<input type="text" name="extra" id="extra"size="50"></input><br><br>

Velden met een <font color="red">*</font> zijn verplicht in te vullen.<br>
<br>
<input type="submit" name="submit" value="Inschrijven!"></input>
</form>

<?php
if( isset($_GET['submit']) )
{

    session_start();

    $name = htmlentities($_GET['name']);
    $firstname = htmlentities($_GET['firstname']);
    $mail = htmlentities($_GET['mail']);
    $tel = htmlentities($_GET['tel']);
    $tshirt = htmlentities($_GET['tshirt']);
    $extra = htmlentities($_GET['extra']);

    $_SESSION['name'] = $nam;
    $_SESSION['firstname'] = $firstname;
    $_SESSION['mail'] = $mail;
    $_SESSION['tel'] = $tel;
    $_SESSION['tshirt'] = $tshirt;
    $_SESSION['extra'] = $extra;
}

?>


PHP code van het formulier: (mailservice2.php)
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
<html>
<body>

<?php
session_start();
$firstname = $_SESSION['firstname'];
$name = $_SESSION['name'];
$mail = $_SESSION['mail'];
$tel = $_SESSION['tel'];
$tshirt = $_SESSION['tshirt'];
$extra = $_SESSION['extra'];

$to="[email protected]";

$subject="Nieuwe registratie voor MGT2016!";

$headers="From: $firstname $name, $mail";

$message="
Naam van deelnemer: $firstname $name
Mailadres van deelnemer: $mail
Telefoonnr. van deelnemer: $tel
Maat van de tshirt: $tshirt

Extra info: $extra"
;

$sent=mail($to, $subject, $headers);

if($sent)
{
print('<a href="formulier2.html">Danku voor de registratie. Klik HIER om terug te keren.</a>');}
else
{print"Er is iets fout gegaan bij het indienen, probeer het opnieuw.";}
?>


</body>
</html>


Alvast bedankt aan iedereen die me wilt helpen!
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt![/modedit]
Gewijzigd op 05/02/2016 11:54:01 door Jinte Michiels
 
PHP hulp

PHP hulp

13/01/2025 20:19:36
 
- Ariën  -
Beheerder

- Ariën -

05/02/2016 11:53:05
Quote Anchor link
Waar loop je precies op vast?
 
Jinte Michiels

Jinte Michiels

05/02/2016 11:54:54
Quote Anchor link
Ik krijg een mail binnen en in deze mail staat dan gewoon 'From: ,'

De mail zelf krijg ik binnen, en het onderwerp klopt ook. Verder geraak ik niet.
 
- SanThe -

- SanThe -

05/02/2016 12:01:04
Quote Anchor link
Er gaat een hoop niet goed.

Waarom GET en geen POST?
Deze </input> bestaat niet.
Styling hoort niet in de html tags maar in css.
In $_SESSION['name'] = $nam; mist een letter.
Mailheaders kloppen niet. Zie http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
Je hebt geen body in de mail. Daar staan de headers nu.
 
Jan de Laet

Jan de Laet

05/02/2016 12:01:20
Quote Anchor link
Je doet niets met $message in de mail functie.
 
- Ariën  -
Beheerder

- Ariën -

05/02/2016 12:02:29
Quote Anchor link
Dit werkt beter.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sent=mail($to, $subject, $message, $headers);


Er ontbrak een variabele $message, doe op de 3e plek hoort.
Persoonlijk zou ik phpMailer gebruiken. Deze is sneller, uitgebreider en veiliger dan de PHP-mail-functie.
 
Jinte Michiels

Jinte Michiels

05/02/2016 23:05:53
Quote Anchor link
Bedankt allemaal, ik zit met jullie tips al een heel stuk verder!
Als ik het formulier nu invul, krijg ik dit in mijn mailbox:

Afbeelding

De code in formulier2.html is nu:
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
<form action="mailservice2.php" method="post">
Familienaam van deelnemer: <font color="red">*</font><br>
<input type="text" name="name" id="name"><br>
<br>

Voornaam van deelnemer: <font color="red">*</font><br>
<input type="text" name="firstname" id="firstname"><br>
<br>

E-mail van de ouders: <font color="red">*</font><br>
<input type="text" name="mail" id="mail"><br>
<br>

Telefoonnummer van de ouders: <font color="red">*</font><br>
<input type="text" name="tel" id="tel"><br>
<br>

Maat t-shirt: <font color="red">*</font><br>
<select name="tshirt" id="tshirt">
  <option value="Small">S</option>
  <option value="Medium">M</option>
  <option value="Large">L</option>
  <option value="eXtra Large">XL</option>
</select><br>
<br>

Eventuele extra info: (niet verplicht)<br>
<input type="text" name="extra" id="extra"size="50">><br><br>

Velden met een <font color="red">*</font> zijn verplicht in te vullen.<br>
<br>
<input type="submit" name="submit" value="Inschrijven!">
</form>




<?php
if( isset($_POST['submit']) )
{

    session_start();

    $name = htmlentities($_POST['name']);
    $firstname = htmlentities($_POST['firstname']);
    $mail = htmlentities($_POST['mail']);
    $tel = htmlentities($_POST['tel']);
    $tshirt = htmlentities($_POST['tshirt']);
    $extra = htmlentities($_POST['extra']);

    $_SESSION['name'] = $name;
    $_SESSION['firstname'] = $firstname;
    $_SESSION['mail'] = $mail;
    $_SESSION['tel'] = $tel;
    $_SESSION['tshirt'] = $tshirt;
    $_SESSION['extra'] = $extra;
}

?>


En in mailservice2.php:
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
<html>
<body>

<?php
session_start();
$firstname = $_SESSION['firstname'];
$name = $_SESSION['name'];
$mail = $_SESSION['mail'];
$tel = $_SESSION['tel'];
$tshirt = $_SESSION['tshirt'];
$extra = $_SESSION['extra'];

$to="[email protected]";

$subject="Nieuwe registratie voor MGT2016!";

$headers="From: $firstname $name, $mail";

$message="
Naam van deelnemer: $firstname $name
Mailadres van deelnemer: $mail
Telefoonnr. van deelnemer: $tel
Maat van de tshirt: $tshirt

Extra info: $extra"
;

$sent=mail($to, $subject, $message, $headers);

if($sent)
{
print('<a href="formulier2.html">Danku voor de registratie. Klik HIER om terug te keren.</a>');}
else
{print"Er is iets fout gegaan bij het indienen, probeer het opnieuw.";}
?>


</body>
</html>
 



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.