Si volem evitar el temut “Spam” i volem prescindir del reCAPTCHA de Google, podem crear un parany mitjançant PHP.
Gràcies a Javier per la seua inestimable col·laboració. Podeu fer servir també “empty“.
Opció d’ocultar el camp amb una classe CSS amb “display none”, en compte de fer-ho en línia.
Codi PHP frontend
<form action="enviar.php" method="POST">
<fieldset id="contact_form">
<div id="result"></div>
<label for="name"><span>Nombre Completo *</span><br/>
<input type="text" name="name" id="name" required/>
</label>
<label for="email"><span>Email *</span><br/>
<input type="email" name="email" id="email" required/>
</label>
<label for="phone"><span>Teléfono *</span><br/>
<input type="text" name="phone" id="phone" required/>
</label>
<input type="hidden" name="prefix" value="template-contactform-">
<div style="display: none;">
<label for="parany">Aquest camp es un parany</label>
<input type="text" name="parany" />
</div>
<button class="submit_btn" id="submit_btn">Enviar</button>
</fieldset>
</form>
Codi PHP backend (enviar.php)
<?php
$email_to = "POSA ACÍ EL TEU CORREU";
$email_subject = "Contacto desde el sitio web";
// VALIDAR LES DADES I EL PARANY
if( $_POST['parany'] != "" || !isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['phone'])) {
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
} else{
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Telefono: " . $_POST['phone'] . "\n";
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".'Reply-To: '.$email_from."\r\n" .'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers);
}
header ("location: gracias.php");
?>