I'm trying to create a survey page with mail function. But when i try the code, it doesnt send anything, no error just a blank page. I'm new to coding in general so may be some major errors in my code, sorry for that. I tried many options on google but nothing worked out.
My code:
$to = "my-email@mail.com";
$subject = "Survey";
$name = "MyName";
$from = "my-2nd-email@mail.com";
$quest1 = $_POST['quest1'];
$quest2 = $_POST['quest2'];
$quest3 = $_POST['quest3'];
$message = $quest1 . " " . $quest2 . " " . $quest3;
if (mail ($to, $subject, $message")){
echo "
<h2>Your message is sent!</h2>
<b>To:</b> $to
<b>Subject: Survey</b>
<b>Svar:</b>
$quest1'<BR>
$quest2<BR>
$quest3<BR>";
}
else{
echo "Error: Message not sent";
}
?>
And HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Kontakt</title>
</head>
<body>
<h2>Survey</h2>
<form name="kontakt" method="post" action="formmail.php">
<p><br>
Question1?<br>
<input name="quest1" type="text" value="" size="60">
</p>
<p>Question2?<br>
<input name="quest2" type="text" value="" size="60">
</p>
<p>Question3?<br>
<textarea name="quest3" cols="60" rows="2"></textarea>
</p>
<p><br>
<br>
<input name="submit" type="submit"
value="Send message">
</p>
</form>
</body>
</html>
You need to fix this line:
if (mail ($to, $subject, $message"))
to this
if (mail ($to, $subject, $message))
There was an unwanted "
character after the $message
You need also add "
to your echo.
So it should be like this:
if (mail($to, $subject, $message)) {
echo "<h2>Your message is sent!</h2>
<b>To:</b> $to
<b>Subject: Survey</b>
<b>Svar:</b>
$quest1<BR>
$quest2<BR>
$quest3<BR>";
} else {
echo "Error: Message not sent";
}
try this..
$to = "my-email@mail.com";
$subject = "Survey";
$name = "MyName";
$from = "my-2nd-email@mail.com";
$quest1 = $_POST['quest1'];
$quest2 = $_POST['quest2'];
$quest3 = $_POST['quest3'];
$message = $quest1 . " " . $quest2 . " " . $quest3;
$headers = "From:$from
";
if(mail($to, $subject, $message,$headers)){
echo "<h2>Your message is sent!</h2>
<b>To:</b> $to
<b>Subject: Survey</b>
<b>Svar:</b>
$quest1'<BR>
$quest2<BR>
$quest3<BR>";
}
else
echo "Error: Message not sent";
remove "
in mail function after $message
and made proper string in echo
like this
if (mail($to, $subject, $message))
{
echo '<h2>Your message is sent!</h2>
<b>To:</b> $to
<b>Subject:Survey</b>
<b>Svar:</b>
$quest1."<br>"
$quest2."<br>"
$quest3."<br>"';
}
else
{
echo "Error: Message not sent";
}