I have mixed and matched code to great a contact form to my own specification and I have managed to sort out most errors myself but just can't seem to see what I have done wrong.
The echo $result variable states that its undefined, so that wont work when the form is submitted to give the correct message,
then when i test to see if my error messages work, i just end up with a page stating: Undefined index: email in on line 30 and Undefined variable: human in on line 47
Can anyone offer an extra pair of eyes and assistance please. Thank you.
Form coding:
PHP Code:
<form id="contacts-form" method="post" action="php/mailer test.php">
<fieldset>
<div class="field">
<label>Your Name:</label>
<input name="name" type="text" placeholder="First & Last Name">
<?php if (isset($errName)) {
echo '<p class="text-danger">'.$errName.'</p>';
}?>
</div>
<div class="field">
<label>Your E-mail:</label>
<input name="mail" type="email" placeholder="example@domain.com">
<?php if (isset($errEmail)) {
echo '<p class="text-danger">'.$errEmail.'</p>';
}?>
</div>
<div class="field">
<label>Phone Number:</label>
<input name="number" type="text" placeholder="Mobile or Home number">
<?php if (isset($errNumber)) {
echo '<p class="text-danger">'.$errNumber.'</p>';
}?>
</div>
<div class="field">
<label>Subject:</label>
<input name="subject" type="text" placeholder="Wedding, Birthday etc">
<?php if (isset($errSubject)) {
echo '<p class="text-danger">'.$errSubject.'</p>';
}?>
</div>
<div class="field">
<label>Your Message:</label>
<textarea name="message" cols="1" rows="1" placeholder="Write your message here!"></textarea>
<?php if (isset($errMessage)) {
echo '<p class="text-danger">'.$Message.'</p>';
};?>
</div>
<div class="field">
<label for="human" >2 + 3 = ?</label>
<input type="text" id="human" name="human" placeholder="Your Answer">
<?php if (isset($errHuman)) {
echo '<p class="text-danger">'.$errHuman.'</p>';
}?>
</div>
<div class="button">
<input type="Submit" name="Submit" value="Send your message!"></input></div>
<div class="field">
<?php echo $result; ?>
</div>
</fieldset>
</form>
PHP running script:
PHP Code:
<?php
if(isset($_POST['Submit'])) {
$youremail = 'example@domain.com';
$fromsubject = 'Website enquire';
$name = $_POST['name'];
$number = $_POST['number'];
$mail = $_POST['mail'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$to = $youremail;
$mailsubject = 'Masage recived from'.$fromsubject.' Contact Page';
$body = $fromsubject.'
The person that contacted you is '.$name.'
E-mail: '.$mail.'
Phone number: '.$number.'
Subject: '.$subject.'
Message:
'.$message.'
|---------END MESSAGE----------|';
if (!$_POST['name']) {
$errName = 'Please enter your name';
}
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
if (!$_POST['number']) {
$errNumber = 'Please enter your mobile or home number ';
}
if (!$_POST['subject']) {
$errSubject = 'Please enter your subject';
}
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}
if ($human !== 5) {
$errHuman = 'Your anti-spam is incorrect';
}
if (!$errName && !$errEmail && !$errNumber && !$errSubject && !$errMessage && !$errHuman) {
if (mail($to, $subject, $body));
$result='<div class="alert alert-success">Thank You! I will be in touch shortly</div>';
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>';
}
}
?>
Bookmarks