HTML/PHP
<p><label for="commentsText">I am interested in:</label><br/>
<input type="checkbox" name="interest[]" id="interest" value="1" class="required requiredField email" />
Exhibiting. Please send me more information<br/>
<input type="checkbox" name="interest[]" id="interest" value="2" class="required requiredField email" />
Visiting. Please add me to your mailing list<br/>
<input type="checkbox" name="interest[]" id="interest" value="3" class="required requiredField email" />
Speaking. Please send me more information<br/>
<input type="checkbox" name="interest[]" id="interest" value="4" class="required requiredField email" />
Attending. Please send me more information<br/>
<?php if($interestError != '') { ?>
<span class="error"><?php echo $interestError; ?></span>
<?php } ?>
</p>
PHP
$interest='';
if(empty($_POST[$interest]))
{
$interestError ='Please select the interests';
$hasError = true;
}
else{
$numberofInterest = count($interest);
for ($i=0; $i < $numberofInterest; $i++)
{
$numofInterest = $interest[i];
echo $numofInterest . " ";
}
}
编辑#2
谢谢大家的帮助。我使用print_r并看到所有四个都打印出来。问题是现在:如果没有错误,发送邮件。当我选中所有复选框时,它不会全部显示。仅显示“4”。有没有办法显示所有包括文本?
if(!isset($hasError)) {
$interest = $numofInterest ;
$subject = 'I Have A Question to Ask from '.$name;
$thanksubject = 'Thank you for the Form Submission';
$body = "Name: $name \n\nEmail: $email \n\nInterest: $interest\n\nComments: $comments";
* 编辑#3 *
好的,我已经解决了上面的最后一个问题。设法发送电子邮件与一切。
答案 0 :(得分:0)
让我们做一个print_r($ _ POST);并发现正在发生的事情。您将了解数据的传递方式以及未来如何解决类似问题。
答案 1 :(得分:0)
提交表单后,PHP脚本将分别收到$_GET
或$_POST
变量中的复选框数组(或者您只能使用$_REQUEST
)
即。选中第一个和第三个复选框时,将输出print_r($_POST['interest']);
:
Array
(
[0] => 1
[1] => 3
)
我认为你的主要错误是你对$_POST
- 变量进行索引的方式 - 你使用变量$interest
,你应该使用字符串'interest'
,如上所述。