Onderstaand staat een simpel script voor het verzenden van een contactformulier op de website via de email
Echter in het contactformulier, heb ik nog twee variabelen meer.
"userPhone"
"userCity"
deze twee variabele wil ik ook in de $content van de email plaatsen


Wat is de juiste manier om dit te doen?

Ik heb diverse dingen (zonder success) geprobeerd als
$content = $_POST["userPhone","userCity","content"]
$content = $_POST["userPhone, userCity, content"]
$content = $_POST["userPhone"]+$_POST["userCity"]+$_POST["content"]



<?php
if(!empty($_POST["send"])) {
$name = $_POST["userName"];
$email = $_POST["userEmail"];
$subject = $_POST["reden"];
$content = $_POST["content"];

$toEmail = "[email protected]";
$mailHeaders = "From: " . $name . "<". $email .">\r\n";
if(mail($toEmail, $subject, $content, $mailHeaders)) {
$message = "Je bericht is succesvol verzonden.";
$type = "success";
}
}
require_once "contact-view.php";
?>

Gene van beiden, het blijven aparte variabelen, maar je bent bij de laatste wel erg in de buurt.


$content = $_POST["userPhone"]." en ".$_POST["userCity"];


Met een punt kan je in PHP een string met een variabele, constante of functie koppelen.
De + wordt weer in javascript gebruikt.

Ik raad wel aan om de From: te voorzien van je eigen mailadres, en de verzender zijn mailadres en naam in de Reply-to: header te plaatsen. Veel hostingproviders blokkeren mails met een onbekende FROM-header. Zorg ook dat je jouw header beveiligt tegen mailheader-injection. Nu kan je script misbruikt worden door spammers.




Bedankt Ariën, super het werkt, en bijna zoals ik wil!!!
Dus nog een klein additioneel vraagje met betrekking tot de variabele $content:
Is het mogelijk om naast ASCII-karakters ook HTML code toe te voegen, bijvoorbeeld een <br>,
of is er een andere manier om een "carriage return" / "enter" toe te voegen?

Reageren