※ ChatGPTを利用し、要約された質問です(原文:チェックボックスの内容が送信出来ません。)
チェックボックスの送信エラー解決方法とは?
このQ&Aのポイント
PHPのメールフォームにチェックボックスを追加しましたが、送信できないエラーが発生しています。解決方法を教えてください。
チェックボックスにチェックを入れずに送信すると成功するが、チェックを入れて送信すると失敗する現象が発生しています。
お力をお貸しください。必要だと思われるソースコードは、inquiry.html、check_inquiry.php、send_inquiry.phpです。
PHPのメールフォームにチェックボックスを追加しましたがうまく送れず頭を抱えています。
お力をお貸しください。
必要だと思われるソースです。
inquiry.html
<form action="check_inquiry.php" method="POST">
<p><label for="title">お名前:</label>
<input type="text" name="title" size="60">
</p>
<p><INPUT type="checkbox" name="check[]" value="資料請求" />資料請求<INPUT type="checkbox" name="check[]" value="至急" />至急<INPUT type="checkbox" name="check[]" value="質問" />質問</p>
<br />
<p><label for="massage">メッセージ:</label></p>
<p><textarea name="message" cols="50" rows="20"></textarea></p>
<p><input type="submit" value="内容の確認"></p>
</form>
check_inquiry.php
<?php
$title = htmlspecialchars($_POST['title'], ENT_QUOTES);
$message = htmlspecialchars($_POST['message'], ENT_QUOTES);
$m_check = $_POST['check'];
?>
■内容を確認してください。
<br>
<form action="send_inquiry.php" method="POST">
<input type="hidden" name="title" value="<?php echo $title; ?>" />
<input type="hidden" name="message" value="<?php echo $message; ?>" />
<input type="hidden" name="check" value="<?php for($i=0; $i<sizeof($m_check); $i++){
echo "【${m_check[$i]}】";
}
?>" />
<br />
お名前:
<br />
<?php echo $title; ?>
<br />
問い合わせ内容:
<?php for($i=0; $i<sizeof($m_check); $i++){echo "【${m_check[$i]}】";
}; ?>
<br />
メッセージ詳細:
<br />
<?php
// 改行部分にBRタグを埋め込む
echo nl2br($message);
?>
<br />
<input type="submit" value="お問い合わせ内容の送信">
</form>
send_inquiry.php
<?php
$title = htmlspecialchars($_POST['title'], ENT_QUOTES);
$message = htmlspecialchars($_POST['message'],ENT_QUOTES);
$m_check = $_POST['check'];
//日本語UTF8
mb_language('ja');
mb_internal_encoding('UTF8');
//自動送信<送信元のアドレス
$name = '自動送信';
$email = 'メールアドレス';
$header = 'From: '. mb_encode_mimeheader($name) . '<' . $email .'>';
// メール送信
$result = mb_send_mail($email, $title, $message, $header, $m_check);
//メール送信の確認
if ($result) {
// メール送信の成功
echo '■管理人へ送信しました。';
} else {
// メール送信の失敗
echo '■管理人への送信に失敗しました。';
}
?>
チェックボックスにチェックを入れないと送信出来ますが
チェックを入れると送信に失敗します。
よろしくお願いします。
お礼
ありがとうございました。 無事解決しました。