0
I’m trying to take data from a form and email it using the PHP mail() function, but the function is simply not working.
Form:
<form class="col s12" method="GET">
<div class="row">
<div class="input-field col s12 m4">
<input id="last_name" name="solicitante" type="text" class="validate" />
<label for="last_name">Solicitante</label>
</div>
<div class="input-field col s12 m4">
<input id="dataSolicitacao" name="dataSolicitacao" type="text" class="validate" value="02/08/2019">
<label for="last_name">Data solicitação</label>
</div>
<div class="input-field col s12 m4">
<select name="prioridade">
<option value="" disabled selected>Prioridade</option>
<option value="Baixa">Baixa</option>
<option value="Media">Media</option>
<option value="Alta">Alta</option>
</select>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<textarea id="textarea2" class="materialize-textarea" name="descricao" data-length="120"></textarea>
<label for="textarea2">Descrição do reparo</label>
</div>
</div>
<input type="submit" name="enviar" class="white-text waves-effect waves-light btn" value="Enviar" style="background-color: #653126; cursor: pointer;" />
</form>
Taking the data:
if (isset($_GET['enviar'])) {
$solicitante = $_GET['solicitante'];
$dataSolicitacao = $_GET['dataSolicitacao'];
$prioridade = $_GET['prioridade'];
$descricao = $_GET['descricao'];
if ($prioridade && $solicitante && $descricao != '') {
enviarEmail();
echo "<div class='card green white-text'><div class='card-content'><span><b>Sucesso!</b> Solicitação de reparo enviada.</span></div></div>";
header("Refresh: 2; index.php");
} else {
echo "<div class='card red white-text'><div class='card-content'><span><b>Erro!</b> Preencha todos os campos antes de enviar.</span></div></div>";
header("Refresh: 2; index.php");
}
}
Function send email:
function enviarEmail() {
$solicitante = $_GET['solicitante'];
$dataSolicitacao = $_GET['dataSolicitacao'];
$prioridade = $_GET['prioridade'];
$descricao = $_GET['descricao'];
$to = "[email protected]";
$subject = "$solicitante fez uma solicitação de reparo";
$message = "
Solicitante: $solicitante <br />
Data da solicitação: $dataSolicitacao <br />
Prioridade: $prioridade <br />
Descrição do reparo: $descricao <br />
";
$header = "MIME-Version: 1.0\n";
$header .= "Content-type: text/html; charset=iso-8859-1\n";
$header .= "From: $solicitante";
mail($to, $subject, $message, $header);
echo "email enviado";
}
The mail() function is simply not working
– Gustavo Alves
Using local or server ?
– Marcos Brinner
use Phpmailer instead of mail();
– user148170