我对PHP的编码相当陌生。目前,我有一个问题,我的复选框和下拉框提交在我的联系表格。
我正在使用Bootstrap来构建这个站点。
我已经研究了答案,我一直无法找到为什么我的复选框不会出现在我的电子邮件。
下面是我的代码:
这里是PHP:
if (isset($_POST["submit"])) {
$branch = $_POST['Toledo Branch, Columbus Branch'];
$name = $_POST['name'];
$companyname = $_POST['companyname'];
$title = $_POST['title'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$contacting = $_POST['Services/Solutions, Quote Request, Service Request, Other '];
$area = $_POST['area-0, area-1, area-2, area-3, area-4, area-5 '];
$comment = $_POST['comment'];
$from = 'ProVideo Website';
$to = 'samantha@provideosystems.com';
$subject = 'Message from ProVideo Contact Form ';
$body = "Branch: $branch \
From: $name \
Company: $companyname \
Title: $title \
E-Mail: $email \
Phone Number: $phone\
Contacting About: $contacting \
Interest: $area \
Comment: $comment";
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Please enter your 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';
}
// If there are no errors, send the email
if (!$errBranch && !$errName && !$errCompanyname && !$errTitle && !$errEmail && !$errPhone && !$errArea && !$errComment ) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">Thank You! We have received your message </div>';
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>';
}
}
}这里是联系方式:
<h3>Contact Us!</h3>
<div class="form-group">
<label class="col-md-4 control-label" for="branch">Choose a Branch to Contact</label>
<div class="col-md-5">
<select id="contacting" name="contacting" class="form-control">
<option value="1">Toledo Branch</option>
<option value="2">Columbus Branch</option>
</select>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="name">Name</label>
<div class="col-md-5">
<input id="name" name="name" type="text" placeholder="First, Last" class="form-control input-md" required=""/>
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="companyname">Company Name</label>
<div class="col-md-5">
<input id="companyname" name="companyname" type="text" placeholder="" class="form-control input-md" required=""/>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="title">Title</label>
<div class="col-md-5">
<input id="title" name="title" type="text" placeholder="" class="form-control input-md"/>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="email">Email</label>
<div class="col-md-5">
<input id="email" name="email" type="text" placeholder="name@email.com" class="form-control input-md" required=""/>
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="phone">Phone </label>
<div class="col-md-5">
<input id="phone" name="phone" type="text" placeholder="(XXX) XXX-XXXX" class="form-control input-md" required=""/>
</div>
</div>
<!-- Select Basic -->
<div class="form-group">
<label class="col-md-4 control-label" for="contacting">I am contacting about...</label>
<div class="col-md-5">
<select id="contacting" name="contacting" class="form-control">
<option value="1">Services/Solutions</option>
<option value="2">Quote Request</option>
<option value="">Service Request</option>
<option value="">Other</option>
</select>
</div>
</div>
<!-- Multiple Checkboxes -->
<div class="form-group">
<label class="col-md-4 control-label" for="area">Area of Interest</label>
<div class="col-md-4">
<div class="checkbox">
<label for="area-0">
<input type="checkbox" name="area" id="area-0" value="1"/>
Corporate
</label>
</div>
<div class="checkbox">
<label for="area-1">
<input type="checkbox" name="area" id="area-1" value="2"/>
Education
</label>
</div>
<div class="checkbox">
<label for="area-2">
<input type="checkbox" name="area" id="area-2" value=""/>
House of Worship
</label>
</div>
<div class="checkbox">
<label for="area-3">
<input type="checkbox" name="area" id="area-3" value=""/>
Government
</label>
</div>
<div class="checkbox">
<label for="area-4">
<input type="checkbox" name="area" id="area-4" value=""/>
Sports Venue
</label>
<div class="checkbox">
<label for="area-5">
<input type="checkbox" name="area" id="area-4" value=""/>
Other
</label>
</div>
</div>
</div>
</div>
<!-- Textarea -->
<div class="form-group">
<label class="col-md-4 control-label" for="comment">Comments</label>
<div class="col-md-4">
<textarea class="form-control" id="comment" name="comment"></textarea>
</div>
</div>
<!-- Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="submit"></label>
<div class="col-md-4">
<button id="submit" name="submit" class="btn btn-primary">Submit</button>
</div>
</div>
<div class="form-group">
<div class="col-sm-10">
</div>
</div>
</form>
</div>发布于 2015-09-23 15:14:10
如果希望它们在消息中显示,请将信息放入值中。我还会使名称成为一个数组,以便您可以使用前程循环遍历所有复选框,以便将它们包含在电子邮件中。
<div class="checkbox">
<label for="area-4">
<input type="checkbox" name="area[]" id="area-4" value="Sports Venue"/>
Sports Venue
</label>发布于 2015-09-23 15:14:22
你不能用这个
$contacting = $_POST['Services/Solutions, Quote Request, Service Request, Other '];
$area = $_POST['area-0, area-1, area-2, area-3, area-4, area-5 '];如果要检索值,则应使用form元素的名称。在本例中,由于PHP无法识别那些数组键,所以什么也得不到。
$area = $_POST['area'];它可能是1或2或3或4等等,但我在您的HTML代码中注意到,对于所有区域的其余复选框,您没有一个值,因此修复它会有所帮助。
对这条线也是一样的
$_POST['Services/Solutions, Quote Request, Service Request, Other '];您只需检索该值并使用它做您想做的事情,但是要使用以下方法:$contacting =$_POST‘instead’;
以下是小贴士:
如果您没有使用更高级的数据处理,您可以简单地将选项元素的值保留为空,$_POST‘联系人’;变量将返回字符串内部标记。
例如:
<select name="contacting">
<option>This option</option>
<option>Another option</option>
<option>Tacos y Quesadillas</option>
</select>无论我选择什么,都将作为这些字符串之一发送到PHP,而不是值。它将更容易连接到您的电子邮件正文。
使用复选框,您将需要值,实际上,只是,而不是数字,使用字符串使它更容易再次,连接到您的电子邮件正文。
https://stackoverflow.com/questions/32743056
复制相似问题