【发布时间】:2015-08-29 11:55:16
【问题描述】:
我有一个看起来像 this 的联系表
将根据用户在“我想”选择框上选择的内容显示不同的表单字段。
我想实现我在这个网站上找到的solution。基本上php只发布填写的字段,不发布空的字段。它使用以下代码来实现它
foreach ($_POST as $Field=>$Value) {
if($Value != ''){
$body .= "$Field: $Value\n";
}
}
我不精通 PHP,无法应用提出的解决方案。如果有人可以帮助将解决方案实施到我的代码中以使其发布包括文本字段、选择框和单选组的非空表单元素,将不胜感激。
我的 PHP 表单处理器的代码如下所示
<?php
$name = $_POST['name'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$p_prefered_day = $_POST['p_prefered_day']; (radio button)
$session_time = $_POST['session_time']; (select box)
$p_message = $_POST['p_message'];
$treatment = $_POST['treatment']; (select box)
$therapist = $_POST['therapist']; (select box)
$b_pref_day = $_POST['b_pref_day']; (radio button)
$b_pref_time = $_POST['b_pref_time']; (radio button)
$b_message = $_POST['b_message'];
$to = 'info@zenwebcreative.com.au';
$email_subject = "Website Contact Form: $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nCompany: $company\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";
$headers = "From: noreply@yourdomain.com\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
我的表单的 HTML 代码如下所示
<form name="sentMessage" id="contactForm" novalidate>
<div class="form-group">
<label>Full Name *</label>
<input type="text" class="form-control" id="name" required>
<p class="help-block text-danger"></p>
</div><!-- end form-group -->
<div class="form-group">
<label>Email Address*</label>
<input type="email" class="form-control" id="email" required>
<p class="help-block text-danger"></p>
</div><!-- end form-group -->
<div class="form-group">
<label>Contact Number</label>
<input type="text" class="form-control" id="phone">
</div> <!-- end form group -->
<div class="form-group">
<label>I would like to *</label>
<select id="select_question" class="form-control">
<option selected="selected">Please select</option>
<option value="question">Ask a question</option>
<option value="pilates">Attend a pilates class</option>
<option value="booking">Schedule a booking</option>
</select>
</div><!-- end form-group -->
<div class="form-group box question">
<label>Message</label>
<div class="input-group">
<textarea id="message" class="form-control" rows="7" required></textarea>
<span class="input-group-addon"><span class="glyphicon glyphicon-asterisk"></span></span>
</div><!-- end input group -->
<p class="help-block text-danger"></p>
</div><!-- end form-group -->
<div class="box pilates">
<div class="form-group">
<label>Prefered day of the week *</label><br>
<label class="radio-inline">
<input type="radio" name="p_prefered_day" id="Tue" value="Tuesday">Tuesday
</label>
<label class="radio-inline">
<input type="radio" name="p_prefered_day" id="Thu" value="Thursday">Thursday
</label>
</div> <!-- end form group -->
<div class="form-group">
<label>Prefered Session you would like to attend? *</label>
<select class="form-control" id="session_time">
<option value="4:30 pm">4:30 pm</option>
<option value="5:30 pm">5:30 pm</option>
<option value="6:30 pm">6:30 pm</option>
</select>
</div><!-- end form-group -->
<div class="form-group">
<label>Additional Comments</label>
<div class="input-group">
<textarea id="p_message" class="form-control" rows="7" required></textarea>
<span class="input-group-addon"><span class="glyphicon glyphicon-asterisk"></span></span>
</div><!-- end input group -->
<p class="help-block text-danger"></p>
</div><!-- end form-group -->
</div><!-- end box pilates -->
<div class="box booking">
<div class="form-group">
<label>What Service Are You Interested In? *</label>
<select class="form-control" id="services">
<option value="Manual Therapy">Manual Therapy</option>
<option value="Sports Physiotherapy">Sports Physiotherapy</option>
<option value="Dry Needling">Dry Needling</option>
<option value="Post and Pre operative care">Post and Pre operative care</option>
<option value="Real Time Ultrasound Imaging">Real Time Ultrasound Imaging</option>
<option value="Balance and Vestibular treatment">Balance and Vestibular treatment</option>
<option value="Sports Specific Rehabilitation">Sports Specific Rehabilitation</option>
<option value="Motor Vehicle Accident">Motor Vehicle Accident</option>
<option value="Workers Compensation">Workers Compensation</option>
</select>
</div><!-- end form-group -->
<div class="form-group">
<label>Which therapist would you like to see*</label>
<select class="form-control" id="therapist">
<option selected="selected">No Preference</option>
<option value="Kristen">Kristen</option>
<option value="Tara">Tara</option>
</select>
</div><!-- end form-group -->
<div class="form-group">
<label>Prefered day of the week *</label><br>
<label class="radio-inline">
<input type="radio" name="b_pref_day" id="b_Mon" value="Mon-">Mon
</label>
<label class="radio-inline">
<input type="radio" name="b_pref_day" id="b_Tue" value="Tue">Tue
</label>
<label class="radio-inline">
<input type="radio" name="b_pref_day" id="b_Wed" value="Wed">Wed
</label>
<label class="radio-inline">
<input type="radio" name="b_pref_day" id="b_Thu" value="Thu">Thu
</label>
<label class="radio-inline">
<input type="radio" name="b_pref_day" id="b_Fri" value="Fri">Fri
</label>
</div> <!-- end form group -->
<div class="form-group">
<label>Prefered time of the day</label><br>
<label class="radio-inline">
<input type="radio" name="b_pref_time" id="morning" value="Morning">Morning
</label>
<label class="radio-inline">
<input type="radio" name="b_pref_time" id="afternoon" value="Afternoon">Afternoon
</label>
</div> <!-- end form group -->
<div class="form-group">
<label>Addtional Comments</label>
<div class="input-group">
<textarea id="b_message" class="form-control" rows="7" required></textarea>
<span class="input-group-addon"><span class="glyphicon glyphicon-asterisk"></span></span>
</div><!-- end input group -->
<p class="help-block text-danger"></p>
</div><!-- end form-group -->
</div> <!-- end box booking -->
<div class="clearfix"></div>
<div id="success"></div>
<button id="send_btn" type="submit" class="btn cpcbutton">Send Message</button>
<p class="help-block"> <span class="glyphicon glyphicon-asterisk green"></span> Required Fields </p>
</form>
提前致谢。
【问题讨论】:
-
PHP 本身不会发布任何东西。您是否尝试更改通过表单发布到 PHP 的内容?