現在は、問い合わせフォームを開くとPostgreSQL にログインをして、DBに「空」のデータが入ってしまいます。
###1、下記の送信ボタンを押す
<input type="submit" value="送信">
###2、押した時のみ下記のようにPostgreSQLに書き込みする。
<?php $db = pg_connect("host='localhost' dbname='hoge' user='hoge' password='hoge'"); if(!$db){ print "DBへの接続に失敗しました!\n"; exit; } ......
説明不足の部分があるかと思います。
ご質問いただければと思います。
どうぞよろしくお願いいたします。
##【追記】 m.ts10806様のご質問の返信データが入る処理もないので。
はじめは、この処理を別ページのサンクスページに入れていました。
この動作はきちんと動いています。
ですが、サンクスページのURLを叩くと空のデータが入ってしまいました。
そこで、問い合わせフォームの方にこの処理を移して、送信ボタンを押した時だけ動かそうと考えました。
ですので、下記のプログラムは動くので記載が不要かと考えてしまいました。
下記にブログラムを追加します。
<?php $db = pg_connect("host='localhost' dbname='hoge' user='hoge' password='hoge'"); if(!$db){ print "DBへの接続に失敗しました!\n"; exit; } $created_at_date = $_POST["created_at_date"]; $form_kind = $_POST["form_kind"]; $seat_kind = $_POST["seat_kind"]; $facility_name = $_POST["facility_name"]; $seat = $_POST["seat"]; $application_type = $_POST["application_type"]; $member_type = $_POST["member_type"]; $organization = $_POST["organization"]; $address = $_POST["address"]; $number = $_POST["number"]; $email = $_POST["email"]; $person_name = $_POST["person_name"]; $purpose = $_POST["purpose"]; $summary = $_POST["summary"]; $turnover = $_POST["turnover"]; $capital = $_POST["capital"]; $employee = $_POST["employee"]; $establishment = $_POST["establishment"]; $url = $_POST["url"]; $company = $_POST["company"]; $first_name = $_POST["first_name"]; $last_name = $_POST["last_name"]; $first_name_kana = $_POST["first_name_kana"]; $last_name_kana = $_POST["last_name_kana"]; $tel_kind = $_POST["tel_kind"]; $day = $_POST["day"]; $time = $_POST["time"]; $policy = $_POST["policy"]; $inquiry = $_POST["inquiry"]; $visitors_time = $_POST["visitors_time"]; $sign = $_POST["sign"]; //カンファレンス用 $space = $_POST["space"]; $company_kind = $_POST["company_kind"]; $introduce = $_POST["introduce"]; $matching = $_POST["matching"]; $gutaiteki = $_POST["gutaiteki"]; $tokutyou = $_POST["tokutyou"]; $name1 = $_POST["name1"]; $age1 = $_POST["age1"]; $name2 = $_POST["name2"]; $age2 = $_POST["age2"]; $name3 = $_POST["name3"]; $age3 = $_POST["age3"]; $name4 = $_POST["name4"]; $age4 = $_POST["age4"]; $name5 = $_POST["name5"]; $age5 = $_POST["age5"]; $month = $_POST["month"]; $bikou = $_POST["bikou"]; $sex = $_POST["sex"]; $birthday = $_POST["birthday"]; $join_date = $_POST["join_date"]; //One Day Pass $facility_name = $_POST["facility_name"]; $date_of_use = $_POST["date_of_use"]; $full_name = $_POST["full_name"]; $full_name_kana = $_POST["full_name_kana"]; $persons = $_POST['persons']; $invite_company = $_POST['invite_company']; $seminar_date = $_POST['seminar_date']; $business = $_POST['business']; $businessConcept = $_POST['businessConcept']; $customer = $_POST['customer']; $origin = $_POST['origin']; $profit = $_POST['profit']; $jigyou = $_POST['jigyou']; $uriage = $_POST['uriage']; ####################################################### ## 数値の最大値を取得 ####################################################### $query = "SELECT max(f_id) FROM form_table" ; //$encoding = pg_set_client_encoding($db, "UTF-8"); $result = pg_query($db, $query); if($result === FALSE){echo "クエリ失敗\n";exit();} $get = pg_fetch_row($result); $max = $get[0]; if($max == ''){$max = 0;} $max++; $f_id = $max; ####################################################### ## データを追加する処理 ####################################################### $queryr = "INSERT INTO form_table ( f_id, created_at_date, updated_at_date, form_kind, seat_kind, facility_name, seat, application_type, member_type, organization, address, number, email, person_name, purpose, summary, turnover, capital, employee, establishment, url, company, first_name, last_name, first_name_kana, last_name_kana, tel_kind, day, time, policy, inquiry, space, company_kind, introduce, matching, gutaiteki, tokutyou, name1, age1, name2, age2, name3, age3, name4, age4, name5, age5, sex, birthday, join_date, date_of_use, full_name, full_name_kana, persons, invite_company, seminar_date, visitors_time, month, bikou ) VALUES ( '$f_id', '$created_at_date', '$updated_at_date', '$form_kind', '$seat_kind', '$facility_name', '$seat', '$application_type', '$member_type', '$organization', '$address', '$number', '$email', '$person_name', '$purpose', '$summary', '$turnover', '$capital', '$employee', '$establishment', '$url', '$company', '$first_name', '$last_name', '$first_name_kana', '$last_name_kana', '$tel_kind', '$day', '$time', '$policy', '$inquiry', '$space', '$company_kind', '$introduce', '$matching', '$gutaiteki', '$tokutyou', '$name1', '$age1', '$name2', '$age2', '$name3', '$age3', '$name4', '$age4', '$name5', '$age5', '$sex', '$birthday', '$join_date', '$date_of_use', '$full_name', '$full_name_kana', '$persons', '$invite_company', '$seminar_date', '$visitors_time', '$month', '$bikou' )"; $resultr = pg_query($db, $queryr); if (!$resultr) {echo "データベースへの登録でエラーが発生しました<BR>";exit;} //言語設定、内部エンコーディングを指定する mb_language("japanese"); mb_internal_encoding("UTF-8"); $ShiftJIS = $_POST; //文字コードを変えるので、専用の配列を作成してコピー mb_convert_variables('Shift_JIS', 'UTF-8', $ShiftJIS); //文字コードをUTF-8からShiftJISに変更 $to = "${email}"; if($form_kind == "席予約"){ $query = "SELECT sign FROM facility_info WHERE facility_name = '$facility_name' "; $encoding = pg_set_client_encoding($db, "UTF-8"); $result = pg_query($db, $query); if($result === FALSE){echo "クエリ失敗\n";exit();} $get = pg_fetch_assoc($result); @extract($get); $subject = "hoge". $facility_name ."のメール"; $body = "${organization}様 hoge". $facility_name ."への入居申込をいただきありがとうございます。 入力された下記情報にて、受付いたしました。 事務局より詳細確認のメールをお送りいたしますのでお待ちください。 お申込み日:${created_at_date} 施設名:${facility_name} 席種別:${seat_kind} お名前:${organization} 電話番号:${number} メールアドレス:${email} ${sign}"; include('mail-system.php'); }
【追記】 yoorwm様のご返信。 送信ボタンだけでは送信するデータが無いですよね
送信するデータは、テストしておりますので、きちんと動いておりますので割愛しておりました。
1、お問い合わせフォームのデータ
2、自動返信メールまでのデータ
など全ての一連の内容が必要でしょうか?