Mail functie
Ik ben bezig met een website, en wil een php mail functie erin zetten.
Ik heb een site gemaakt met een form (html), en een php bestand met de codes van php.
Het probleem is: als ik de form invul, word ik op een lege pagina gegooit, en krijg geen mail binnen.
Het zou fijn zijn als iemand een oplossing heeft!
Groetjes, Tom Vos
Ik heb dit:
HTML:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<p><?php echo $feedback ?></p>
<form action="php/order.php" method="post">
<ul>
<li>
<label for="name">Achternaam: </label>
<input type="text" name="name" id="name" />
</li>
<li>
<label for="email">Email:</label>
<input
</li>
<li>
<label for="order">Bestelling:</label>
<textarea id="order" name="order" cols="42" rows="9"></textarea>
</li>
<li><input type="submit" name="submit" value="Plaats Uw Bestelling" /></li>
</ul>
</form>
<form action="php/order.php" method="post">
<ul>
<li>
<label for="name">Achternaam: </label>
<input type="text" name="name" id="name" />
</li>
<li>
<label for="email">Email:</label>
<input
</li>
<li>
<label for="order">Bestelling:</label>
<textarea id="order" name="order" cols="42" rows="9"></textarea>
</li>
<li><input type="submit" name="submit" value="Plaats Uw Bestelling" /></li>
</ul>
</form>
PHP:
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
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
$to = '[email protected]';
$subject = 'bestelling';
$name = $_POST['name'];
$order = $_POST['order'];
$body = <<<email
Bestelling op naam van: $name
Bestelling:
$order
email;
$header = "From: $name";
if($_POST){
if($name == '' || $order == ''){
} else{
mail($to, $subject, $body, $header);
$feedback = 'Dank u wel voor uw bestelling. U kunt uw bestelling over +/- 30 min ophalen.';
}
}
?>
$to = '[email protected]';
$subject = 'bestelling';
$name = $_POST['name'];
$order = $_POST['order'];
$body = <<<email
Bestelling op naam van: $name
Bestelling:
$order
email;
$header = "From: $name";
if($_POST){
if($name == '' || $order == ''){
} else{
mail($to, $subject, $body, $header);
$feedback = 'Dank u wel voor uw bestelling. U kunt uw bestelling over +/- 30 min ophalen.';
}
}
?>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 10/10/2015 15:43:00 door - Ariën -
Wel zie ik dit aan errors, hoewel ze het script niet laten stoppen:
Quote:
Notice: Undefined index: name in /in/vNmGK on line 5
Notice: Undefined index: order in /in/vNmGK on line 6
Notice: Undefined index: order in /in/vNmGK on line 6
Dit houdt in dat je niet controleert of iets verstuurd is via POST als formulier. Dit kan eenvouding met deze constructie:
Code (php)
Verder mist er een echo om het bericht te tonen.
Gewijzigd op 10/10/2015 15:49:10 door - Ariën -
echo $feedback
In jouw html staat:
<label for="email">Email:</label>
<input
En waar is de rest van de input?
Je checked niet of er wel gepost is.
je mail is gevoelig voor hackers/spammers omdat je niks controleert/beveiligt.
Je header van de mail is onjuist.
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
Gewijzigd op 10/10/2015 15:51:53 door - SanThe -
Hiermee kan je gemakkelijk e-mails versturen zonder over de headers na te denken.
Ook is het niet moeilijk om meer dan één e-mails te versturen in één keer.
Gebruik PHPmailer Tom. Dit maakt alles veel dynamischer en makkelijker.