I ask you a question, when I click on my form in the send button, you are sending me the message: "A problem has occurred, please try again."
I have the following HTML form:
<form name="sentMessage" class="positioned" id="contactForm" action="php/contact.php" method="post">
<fieldset>
<input name="senderName" id="senderName" class="form-control" required="" placeholder="Nombre" type="text">
<input name="senderLastName" id="senderLastName" class="form-control" required="" placeholder="Apellido" type="text">
<input name="senderEmail" id="senderEmail" class="form-control" placeholder="Correo Electrónico" required="" type="email">
<input name="senderCel" id="senderCel" class="form-control" placeholder="Número de Celular" required="" type="number">
<button type="submit" class="btn btn-block btn-lg btn-primary">Enviar</button>
</fieldset>
</form>
Calling the following PHP code
<?php
// Define some constants
define( "RECIPIENT_NAME", "Alex" );
define( "RECIPIENT_EMAIL", "[email protected]" );
define( "EMAIL_SUBJECT", "Contacto" );
// Read the form values
$success = false;
$senderName = isset( $_POST['senderName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderName'] ) : "";
$senderLastName = isset( $_POST['senderLastName'] ) ? preg_replace( "/[^\.\-\' a-zA-Z0-9]/", "", $_POST['senderLastName'] ) : "";
$senderEmail = isset( $_POST['senderEmail'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderEmail'] ) : "";
$senderCel = isset( $_POST['senderCel'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['senderCel'] ) : "";
// If all values exist, send the email
if ( $senderName && $senderEmail && $message ) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
$headers = "From: " . $senderName . " <" . $senderEmail . ">";
$success = mail( $recipient, $subject , $message, $headers );
}
// Return an appropriate response to the browser
if ( isset($_GET["ajax"]) ) {
echo $success ? "success" : "error";
} else {
?>
<html>
<head>
<title>Gracias!</title>
</head>
<body>
<?php if ( $success ) echo "<p>Gracias por tu interés! En breve nos contactaremos con vos.</p>" ?>
<?php if ( !$success ) echo "<p>Ha ocurrido un Problema, por favor intentalo de nuevo.</p>" ?>
<p>Click your browser's Back button to return to the page.</p>
</body>
</html>
<?php
} ?>
That in turn calls this script to validate the sending states:
function init() {$("#contactForm").show().submit(submitForm).addClass("positioned"),$('a[href="#contactForm"]').click(function(){return $("#contactForm").fadeTo("slow",.2),$("#contactForm").fadeIn("slow",function(){$("#senderName").focus()}),!1})}
function submitForm(){var e=$(this);return $("#senderName").val()&&$("#senderEmail").val()&&$("#senderLastName").val()&&$("#senderCel").val()?($("#sendingMessage").fadeIn(),e.fadeOut(),$.ajax({url:e.attr("action")+"?ajax=true",type:e.attr("method"),data:e.serialize(),success:submitFinished})):($("#incompleteMessage").fadeIn().delay(messageDelay).fadeOut(),e.fadeOut().delay(messageDelay).fadeIn()),!1}
function submitFinished(e){e=$.trim(e),$("#sendingMessage").fadeOut(),"success"==e?($("#successMessage").fadeIn().delay(messageDelay).fadeOut(),$("#senderName").val(""),$("#senderEmail").val(""),$("#senderCel").val(""),$("#senderLastName").val(""),$("#contactForm").delay(messageDelay+500).fadeIn()):($("#failureMessage").fadeIn().delay(messageDelay).fadeOut(),$("#contactForm").delay(messageDelay+500).fadeIn())}var messageDelay=2e3;$(init);