[英]Php Contactform with error messages dont trigger php script
我为一个带有一些错误消息的简单联系表单制作了一个 index.php。 脚本和表单在同一个 index.php 中(也试过外部,没有工作)现在我想知道为什么这个脚本不工作我没有收到邮件,我没有收到错误消息,也没有从服务器端收到正确的错误我检查了几次,如果我在变量中犯了一些错误,但我找不到任何人。 希望在这里得到帮助,知道为什么它不起作用吗? 也许 PHP 脚本没有被激活(它在 index.php 文件中的实际表单之前)
首先尝试stackoverflow :)
这是PHP脚本
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$prename = $_POST['prename'];
$sex = $_POST['sex'];
$company = $_POST['company'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$message = $_POST['message'];
$from = 'Demo Contact Form';
$to = 'martin.niklaus@gmx.com';
$subject = 'Message from Contact form';
$body = 'From: $sex $prename $name\n Company: $company\n E-Mail: $email\n Mobile: $mobile\n Message:\n $message';
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Please enter your name';
}
// Check if prename has been entered
if (!$_POST['prename']) {
$errPrename = 'Please enter your prename';
}
// Check if sex has been entered
if (!$_POST['sex']) {
$errSex = 'Please choose your sex';
}
// Check if Companyname has been entered
if (!$_POST['company']) {
$errCompany = 'Please enter your Companis name';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
// Check if mobilenumber has been entered
if (!$_POST['mobile']) {
$errMobile = 'Please enter your mobilenumber';
}
// Check if prename has been entered
if (!$_POST['prename']) {
$errPrename = 'Please enter your prename';
}
//Check if message has been entered
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}
// If there are no errors, send the email
if (!$errName && !$errPrename && !$errSex && !$errCompany && !$errEmail && !$errMessage && !$errMobile) {
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>';
}
}
}
和HTML脚本
<div class="form-holder mg-bottom-50">
<form accept-charset="UTF-8" action="index.php" method="post">
<div class="col-md-6">
<label for="name">Name*</label>
<input id="name" name="name" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="col-md-6">
<label for="prename">Prename*</label>
<input id="prename" name="prename" type="text" value="<?php echo htmlspecialchars($_POST['prename']); ?>"/>
<?php echo "<p class='text-danger'>$errPrename</p>";?>
</div>
<div class="col-md-6">
<label>Sex*</label>
<div class="form-choose-type choose-type">
<span>
<input type="radio" checked="checked" id="male" name="sex" rel="Mr" value="Mr" />
<label class="active Mr" for="male">Mr.</label>
</span>
<span>
<input type="radio" id="female" name="sex" rel="Mr" value="Mrs" />
<label class="Mrs" for="female">Mrs.</label>
</span>
<div class="clear"></div>
</div>
</div>
<div class="col-md-6">
<label for="company">Company*</label>
<input id="company" name="company" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="col-md-6">
<label for="email">E-mail*</label>
<input id="email" name="email" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="col-md-6">
<label for="mobile">Mobile*</label>
<input id="mobile" name="mobile" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="clear"></div>
<div class="col-md-12 mg-bottom-50">
<label for="message">Message*</label>
<textarea id="message" name="message">
<?php echo htmlspecialchars($_POST['message']);?>
</textarea>
</div>
<div class="col-md-12 actions">
<input class="black-button" name="commit" type="submit" value="Senden" />
</div>
</form>
<?php echo $result; ?>
<div class="clear"></div>
</div>
</div>
</div>
</div>
感谢帮助 :)
问题:电子邮件格式错误,但消息不会显示 bcaz
<?php echo "<p class='text-danger'>$errName</p>";?>
代替
<?php echo "<p class='text-danger'>$errEmail</p>";?>
修改后的脚本如下
php
<?php
if (isset($_POST['name'])) {
$name = $_POST['name'];
$prename = $_POST['prename'];
$sex = $_POST['sex'];
$company = $_POST['company'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$message = $_POST['message'];
$from = 'Demo Contact Form';
$to = 'martin.niklaus@gmx.com';
$subject = 'Message from Contact form';
$body = 'From: $sex $prename $name\n Company: $company\n E-Mail: $email\n Mobile: $mobile\n Message:\n $message';
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Please enter your name';
}
// Check if prename has been entered
if (!$_POST['prename']) {
$errPrename = 'Please enter your prename';
}
// Check if sex has been entered
if (!$_POST['sex']) {
$errSex = 'Please choose your sex';
}
// Check if Companyname has been entered
if (!$_POST['company']) {
$errCompany = 'Please enter your Companis name';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
// Check if mobilenumber has been entered
if (!$_POST['mobile']) {
$errMobile = 'Please enter your mobilenumber';
}
//Check if message has been entered
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}
// If there are no errors, send the email
if (!isset($errName) && !isset($errPrename) && !isset($errSex) && !isset($errCompany) && !isset($errEmail) && !isset($errMessage) && !isset($errMobile)) {
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>';
}
}
}
?>
HTML
<div class="form-holder mg-bottom-50">
<form accept-charset="UTF-8" action="index.php" method="post">
<div class="col-md-6">
<label for="name">Name*</label>
<input id="name" name="name" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="col-md-6">
<label for="prename">Prename*</label>
<input id="prename" name="prename" type="text" value="<?php echo htmlspecialchars($_POST['prename']); ?>"/>
<?php echo "<p class='text-danger'>$errPrename</p>";?>
</div>
<div class="col-md-6">
<label>Sex*</label>
<div class="form-choose-type choose-type">
<span>
<input type="radio" checked="checked" id="male" name="sex" rel="Mr" value="Mr" />
<label class="active Mr" for="male">Mr.</label>
</span>
<span>
<input type="radio" id="female" name="sex" rel="Mr" value="Mrs" />
<label class="Mrs" for="female">Mrs.</label>
</span>
<div class="clear"></div>
</div>
</div>
<div class="col-md-6">
<label for="company">Company*</label>
<input id="company" name="company" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="col-md-6">
<label for="email">E-mail*</label>
<input id="email" name="email" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errEmail</p>";?>
</div>
<div class="col-md-6">
<label for="mobile">Mobile*</label>
<input id="mobile" name="mobile" type="text" value="<?php echo htmlspecialchars($_POST['name']); ?>"/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
<div class="clear"></div>
<div class="col-md-12 mg-bottom-50">
<label for="message">Message*</label>
<textarea id="message" name="message">
<?php echo htmlspecialchars($_POST['message']);?>
</textarea>
</div>
<div class="col-md-12 actions">
<input class="black-button" name="commit" type="submit" value="Senden" />
</div>
</form>
<?php echo $result; ?>
<div class="clear"></div>
</div>
</div>
</div>
</div>
小笔记
您需要改进错误显示部分并在输入中检索 POST 变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.