trying to setup the webpage with this PHP. I first got the blank page, then had it display the error(s) which was an internal server error. After a bit of research I saw that it's mostly the code that causes issues. If anyone would be kind enough to look this through for any possible solutions, I'd appreciate it. There is some more html code before this although it does not include any of the PHP.
<?php
$subjectPrefix = 'Site Contact Request';
$emailTo = '***@****.com';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = stripslashes(trim($_POST['form-name']));
$email = stripslashes(trim($_POST['form-email']));
$tel = stripslashes(trim($_POST['form-tel']));
$assunto = stripslashes(trim($_POST['form-assunto']));
$mensagem = stripslashes(trim($_POST['form-mensagem']));
$pattern = '/[\r\n]|Content-Type:|Bcc:|Cc:/i';
if (preg_match($pattern, $name) || preg_match($pattern, $email) || preg_match($pattern, $assunto)) {
die("Header injection detected");
}
$emailIsValid = preg_match('/^[^0-9][A-z0-9._%+-]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/', $email);
if($name && $email && $emailIsValid && $assunto && $mensagem){
$subject = "$subjectPrefix";
$body = "Name: $name <br /> Subject: $assunto <br /> Email Address: $email <br /> Telephone Number: $tel <br /> Message: $mensagem";
$headers = 'MIME-Version: 1.1' . PHP_EOL;
$headers .= 'Content-type: text/html; charset=utf-8' . PHP_EOL;
$headers .= "From: $name <$email>" . PHP_EOL;
$headers .= "Return-Path: $emailTo" . PHP_EOL;
$headers .= "Reply-To: $email" . PHP_EOL;
$headers .= "X-Mailer: PHP/". phpversion() . PHP_EOL;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
} else {
$hasError = true;
}
}
?>
<?php if(isset($emailSent) && $emailSent): ?>
<div class="col-md-6 col-md-offset-3">
<div class="alert alert-success text-center">Your message has been sent.</div>
</div>
<?php else: ?>
<?php if(isset($hasError) && $hasError): ?>
<div class="col-md-5 col-md-offset-4">
<div class="alert alert-danger text-center">An error occurred. Please try later.</div>
</div>
<?php endif; ?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" id="contact-form" class="comment_form" role="form" method="post">
<div class="row-fluid">
<div class="span6">
<input type="text" class="form-control" id="form-name" name="form-name" placeholder="Name" required>
</div>
<div class="span6">
<input type="email" class="form-control" id="form-email" name="form-email" placeholder="Email" required>
</div>
</div>
<div class="row-fluid">
<div class="span6">
<input type="tel" class="form-control" id="form-tel" name="form-tel" placeholder="Telephone (Optional)">
</div>
<div class="span6">
<input type="text" class="form-control" id="form-assunto" name="form-assunto" placeholder="Subject" required>
</div>
</div>
<div class="row-fluid">
<div class="span8">
<textarea id="form-mensagem" name="form-mensagem" placeholder="Message"></textarea>
</div>
<div class="span4">
<button class="btn" type="submit"><i class="li_paperplane"></i>Send message</button>
</div>
</div>
</form>