【发布时间】:2018-10-03 06:44:57
【问题描述】:
我对 php 语言很陌生。目前我正在制作一个表单并让用户单击提交,输出将发送到我的电子邮件(使用 phpmailer)。
现在一切正常,但我只想做一个小调整,如果用户对单选按钮回答“是”,那么用户需要检查至少 1 个复选框才能处理表单,而 如果用户对单选按钮回答“否”,则如果他们不选中复选框,则不会显示错误。需要一些关于如何调整代码以使其成为那样的想法。
HTML 表单
<div class="form-group">
<p>Have you worn contact Lens before?</p>
<input type="radio" name="lenses" value="Yes"/> Yes<br>
<input type="radio" name="lenses" value="No"/> No<br>
</div>
<div class="form-group">
<p>If yes, which type of disposable contact lens have you worn before?</p>
<input type="checkbox" name="disposable_lens[]" value="Monthly"/> Monthly<br>
<input type="checkbox" name="disposable_lens[]" value="Daily Disposables"/> Daily Disposables<br>
</div>
PHP
if(isset($_POST["submit"]))
{
if(empty($_POST["lenses"]))
{
$error .= '<p><label class="text-danger">Lenses is required</label></p>';
}
else
{
$lenses = clean_text($_POST["lenses"]);
}
if(empty($_POST["disposable_lens"]))
{
$error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';
}
else
{
$disposable_lens = array_map('clean_text', $_POST["disposable_lens"]);
这是 phpmailer 的正文消息,以防你们想看
$mail->Body = join('', array(
"Outlet: ",
$_POST['outlet'],
"<br/>",
"Full Name: ",
$_POST['fullname'],
"<br/>",
"Email Address: ",
$_POST['email'],
"<br/>",
"Phone Number:",
$_POST['contact_no'],
"<br/>",
"Have you worn contact lens before?: ",
$_POST['lenses'],
"<br/>",
"If yes, which type of disposable contact lens have you worn before?: ",
join(', ', $_POST['disposable_lens']),
"<br/>",
"Appointment Date ",
$_POST['date'],
"<br/>",
"Appointment Time ",
$_POST['time']
));
【问题讨论】:
-
您可以制作一个 Javascript 脚本,如果选中“否”,它将在您的复选框上添加
disabled属性。 -
不确定
join是否是在 PHP 中设置电子邮件正文的最快方法...
标签: php html checkbox radio-button