Supondo que você deseja executar isso a partir de um formulário, você precisará definir sua tag de formulário HTML da seguinte forma:
<form action="contact.php" method="post">
Você deve então renomear
contact.html
para contact.php
(qualquer editor de texto deve ser capaz de fazer isso facilmente). Finalmente, você está usando o
header()
do PHP função, que causará erros se você tiver saída para o navegador antes de ser chamado. Isso inclui usar o echo
do PHP estrutura. Seu contact.php
O arquivo deve ficar assim (e estar no mesmo diretório que o arquivo HTML que contém o formulário):<?php
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$from = 'From:you';
$to = '[email protected]';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Number: $number\n Message:\n $message";
if ($_POST['submit']) {
if ($name != '' && $email != '')
{
if ($human == '4')
{
if (mail ($to, $subject, $body, $from))
{
header("Location: thanks.html");
}
else
{
echo '<p>Something went wrong, go back and try again!</p>';
}
}
else
{
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
}
else
{
echo '<p>You need to fill in all required fields!!</p>';
}
}
?>
Observação: Corrigi um pouco seu layout e alterei algumas das condições que você estava usando. O primeiro
elseif
era realmente redundante, e um else
será suficiente.