我正在试着解决我的联系人表格中的一个错误.我在第24行得到未定义变量$errEmail
,在第22行得到$errMessage
.据我所知,这两个变量都是定义的.我的联系人表单可以正常工作,而不是这些错误.错误发生在用户提交联系人表单之后.以下是我的代码.我刚把$to
改成了example@example.com
,以隐藏我的邮箱.
<?php
if (isset($_POST["submit"])) {
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'Contact Form';
$to = 'example@example.com';
$subject = 'Message from Contact';
$body = " E-Mail: $email\n Message:\n $message";
// Check if email has been entered and is valid
if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
// Check if message has been entered
if (empty($message)) {
$errMessage = 'Please enter your message';
}
// If there are no errors, send the email
if (!$errEmail && !$errMessage) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">Thank You! I will be in touch</div>';
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>';
}
}
}
?>
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h1 class="page-header text-center">Contact Us</h1>
<form class="form-horizontal" role="form" method="post">
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" name="email" placeholder="example@domain.com">
<?php if (isset($errEmail)) {
echo "<p class='text-danger'>$errEmail</p>";
}?>
</div>
</div>
<div class="form-group">
<label for="message" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" name="message"></textarea>
<?php if (isset($errMessage)) {
echo "<p class='text-danger'>$errMessage</p>";
}?>
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary">
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<?php if (isset($result)) {
echo $result;
} ?>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
</body>
</html>
我判断了第22行,看到变量在第13行和第18行定义.