【发布时间】:2022-01-23 21:44:45
【问题描述】:
我正在尝试将复选框值传递给 PHP,但兴趣字段显示为空白。我删除了 javascript 验证并将其直接发送到 PHP。所有其他字段都显示正常。我只想列出选中的复选框。
HTML
====================================
<fieldset>
<input type="checkbox" name="interests[]" value="Workout" /><label for="workout">Workout</label><br />
<input type="checkbox" name="interests[]" value="Practice" /><label for="practice">Practice</label><br />
<input type="checkbox" name="interests[]" value="Training" /><label for="practice">Training</label><br />
</fieldset>
PHP
====================================
<?php
$field_full_name = $_POST['names'];
if(isset($_POST['interests'])){
$field_interests = 'interests';
}
$mail_to = 'me@mail.com';
$subject = 'Message from a visitor '.$field_full_name;
$body_message = 'From: '.$field_full_name."\n";
$body_message .= 'Interest: '.$field_interests."\n";
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
window.location = 'index.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
window.location = 'index.html';
</script>
<?php
}
?>
【问题讨论】:
-
您是如何提交表单的?还有,当你 print_r($_POST);
-
试试 $body_message .= '兴趣:'.$field_interests."\n";更改为 $body_message .= 'Interest: '.$field_interests[0]."\n";