php配列を使ったメールフォームがどうもうまくいきません。。。
助けてくださいm(_ _)m
以前の人が作成したPHPのメールフォームを変更し、予約フォームを作成しております。
下記の図のように商品をチェックボックスで選び、
テキストボックスで個数を入力するというフォームを作り、
メール送信したいのです。
<図>
↓チェックボックス
□商品1 __個←テキストボックス
□商品2 __個
□商品3 __個
PHPにて下記の事がうまくできません。
1.for()又はそれ以外にて、商品[]と個数[]の2つの配列を表示の仕方がわかりません。
2.メール送信する際に、配列のまま送信すると"Array"となってしまうので、
implode("&", $_POST['shohin']);を使用しました。
しかしこれだとメール送信すると、
商品1&商品2&商品3 1個&2個&3個となってしまうので、
商品1 1個&商品2 2個 というようにメールで送ることはできますでしょうか?
■HTML■
<form method="post" action="rsv.php">
<input type="checkbox" name="shohin[]" value="商品1" />商品1<input type="text" name="kosu[]">個
<input type="checkbox" name="shohin[]" value="商品2" />商品2<input type="text" name="kosu[]">個
<input type="checkbox" name="shohin[]" value="商品3" />商品3<input type="text" name="kosu[]">個
</form>
■PHP■
<?php
$shohin = $_POST["shohin"];
$kosu = $_POST["kosu"];
$mode = $_POST["mode"];
if($mode == "sends"){
$title = "ありがとうございました。ご予約を受け付けました。}?>
<?php print $title ?>
<?php if($mode != "sends"){ ?>
<?php
//配列を取り出し表示します。
for( $i = 0; $i < count( $shohin ); $i ++ ){
for( $i = 0; $i < count( $kosu ); $i ++ ){
print "{$shohin[$i]}{$kosu[$i]}<br/>";} }
//配列を文字列に変換。
$shohin = implode("/", $_POST['shohin']);
$kosu = implode("/", $_POST['kosu']);
?>
<?php
if($error){
print "<input type=\"button\" value=\"戻る\" onClick=\"history.back()\" />\n";
}else{
print "<form action=\"rsv.php\" method=\"post\">\n";
print "<input type=\"hidden\" name=\"shohin\" value=\"{$shohin}\" />\n";
print "<input type=\"hidden\" name=\"kosu\" value=\"{$kosu}\" />\n";
print "<input type=\"button\" value=\"戻る\" onClick=\"history.back()\" />\n";
print "<input type=\"submit\" value=\"送信\" />\n";
print "</form>\n"; }
?>
<?php
//お知らせのメール
}else{
$to_1 = "***@****";
$subject = "ご予約です ";
$message .= "希望商品 : {$shohin}{$kosu}\n\n";
$add_header = "Content-Type:text/plain; charset=ISO-2022-JP\n";
$add_header .= "From:<***@*****>\n";
$add_header .= "Content-Transfer-Encoding: 7bit\n";
mb_internal_encoding("UTF-8");
mb_language("Japanese");
mb_send_mail($to_1,$subject,$message,$add_header);
}
?>
<?php
//フォームのすべてのテキストをチェックする
function txtCheck($txt){
$txt = htmlspecialchars($txt,ENT_QUOTES);
return $txt;
}
?>
以上です。
知識不足な質問でごめんなさい。
どなたかよろしくお願い致します。