Hallo,
Mijn contactformulier werkt al een tijdje niet meer. Hier schrok ik behoorlijk van. Nu moet ik met PHPMailer werken en ik kom er niet uit.
Ik heb nu dit script (https://www.awardspace.com/kb/create...ing-phpmailer/) gebruikt voor een contact formulier dat gebruikmaakt van PHPMailer. Het probleem is dat het script één textveld gebruikt voor alle informatie. Ik wil echter meerdere velden hebben om het telefoonnummer, e-mailadres en tijdstip van terugbellen te vragen. \
Hoe kan ik deze in die in de body van de e-mail krijgen?
Dus mijn contact formulier is:
Het mail script werkt als volgt:Code:<form action="/mail-script.php" method="POST"> <input type="text" name="name" placeholder="Uw naam" required><input name="email" type="text" placeholder="Uw e-mailadres" required><input type="text" name="phone" placeholder="Uw telefoonnummer" required><select name="tijdstip"><option value="" disabled selected>Wanneer wilt u teruggebeld worden?</option><option value="zo spoedig mogelijk">Zo spoedig mogelijk</option><option value="vandaag: 09:00 - 12:00">Vandaag: 09:00 - 12:00</option><option value="vandaag: 12:00 - 15:00">Vandaag: 12:00 - 15:00</option><option value="vandaag: 15:00 - 18:00">Vandaag: 15:00 - 18:00</option></select> <TEXTAREA name="message" rows="6" cols="50" placeholder="Korte beschrijving" size="1" required></TEXTAREA><input type="submit" value="Send"><input type="reset" value="Clear"></form>
Hoe krijg ik in de Body van de e-mail mijn velden: name, e-mail, phone, tijdstip én message?PHP Code:
$mail->Subject = $_POST['subject']; $mail->Body = $_POST['message'];
- Probleem met PHPMailer contactformulier
-
06-02-2021, 13:45 #1
- Berichten
- 942
- Lid sinds
- 15 Jaar
Probleem met PHPMailer contactformulier
-
06-02-2021, 16:01 #2
- Berichten
- 8
- Lid sinds
- 11 Jaar
Re: Probleem met PHPMailer contactformulier
Hi Joost,
Je kunt deze regel:
PHP Code:$mail->Body = $_POST['message'];
Aanpassen naar bijvoorbeeld:
PHP Code:$mail->Body = "Naam: " . $_POST['name'] . "<br>";
$mail->Body .= "E-mail: " . $_POST['email'] . "<br>";
$mail->Body .= "Telefoon: " . $_POST['phone'] . "<br>";
$mail->Body .= "Tijdstip: " . $_POST['tijdstip'] . "<br>";
$mail->Body .= "Bericht:<br>" . $_POST['message'];
Let er wel op dat er nu een klein beetje HTML in de mail wordt gestopt. Daardoor worden de regeltjes netjes onder elkaar gezet.
-
07-02-2021, 14:19 #3
- Berichten
- 942
- Lid sinds
- 15 Jaar
Re: Probleem met PHPMailer contactformulier
Dit werkt! Super bedankt.
Nog één ding, wanneer er geen correct e-mailadres wordt getypt, werkt het script niet (logisch) maar geeft het geen error maar een "kan pagina niet bereiken". Het (antwoord-aan) e-mailadres moet natuurlijk goed zijn, maar ik zou het liefst willen dat het script een error geeft (bijv. e-mailadres is niet correct).
Hoe realiseer ik dit?
Dus ik wil graag een error voordat het script hier vast loopt:
PHP Code:$mail->addReplyTo($_POST['email'], $_POST['name']);
Totale code:
PHP Code:<?php
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception;
$myAwardSpaceEmail = "[email protected]"; $myAwardSpaceEmailPassword = "xxxxx"; $myPersonalEmail = "@gmail.com"; require './src/Exception.php'; require './src/PHPMailer.php'; require './src/SMTP.php';
if(isset($_POST['submit'])) {
$mail = new PHPMailer(true);
$mail->SMTPDebug = 0;
$mail->Host = 'mail.xxxxxxx.nl'; $mail->SMTPAuth = true; $mail->Username = $myAwardSpaceEmail; $mail->Password = $myAwardSpaceEmailPassword; $mail->SMTPSecure = 'tls'; $mail->Port = 465;
$mail->setFrom($myAwardSpaceEmail, 'Bel me terug'); $mail->addAddress($myPersonalEmail); $mail->addReplyTo($_POST['email'], $_POST['name']);
$mail->isHTML(true); $mail->Subject = $_POST['subject'];$mail->Body = "Naam: " . $_POST['name'] . "<br>";$mail->Body .= "E-mail: " . $_POST['email'] . "<br>";$mail->Body .= "Telefoon: " . $_POST['phone'] . "<br>";$mail->Body .= "Tijdstip: " . $_POST['tijdstip'] . "<br>";$mail->Body .= "Bericht:<br>" . $_POST['message'];
try { $mail->send(); echo 'Your message was sent successfully!'; } catch (Exception $e) { echo "Your message could not be sent! PHPMailer Error: {$mail->ErrorInfo}"; } } else { echo "There is a problem with the contact.html document!"; } ?>
-
08-02-2021, 05:48 #4Particulier
- Berichten
- 992
- Lid sinds
- 15 Jaar
Re: Probleem met PHPMailer contactformulier
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic