質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1346閲覧

助けて。PHPファイル作成 (問い合わせフォーム)初心者です。

potipoti

総合スコア6

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/12/09 11:50

問い合わせフォームのHTMLファイル PHPファイル 何処が間違っているか ご教唆ください。

【HTMLファイル】

<form action="form.php" method="post"> <input type="hidden" name="action" value="sendmail"> <table cellspacing="1" cellpadding="5" width="540" bgcolor="blue" align="center"> <tr> <td bgcolor="#efffff" width="115"><font color=blue><strong>氏名</strong></font></td> <td bgcolor="#ffffff"><input type="text" name="name" size="30" value="" maxlength="70"></td> </tr> <tr> <td bgcolor="#efffff"><font color=blue><strong>メールアドレス</strong></font></td> <td bgcolor="#ffffff"><input type="text" name="mail" size="50" value="" maxlength="80"></td> </tr> <tr> <td bgcolor="#efffff"><font color=blue><strong>電話番号</strong></font></td> <td bgcolor="#ffffff"><input type="text" name="tel" size="50" value="" maxlength="80"></td> </tr>

 <tr>
<td bgcolor="#efffff"><font color=blue><strong>お迎え先</strong></font></td>

 <td bgcolor="#ffffff">
<select name="mukae">
<option value="val1""> ---- </option>
<option value="val2"> 1 </option>
<option value="val3"> 2 </option>
<option value="val4"> 3 </option>
<option value="val5"> 4 </option>
</select> </td>

</tr> <tr> <td bgcolor="#efffff"><font color=blue><strong>ご利用日時</strong></font></td>

 <td bgcolor="#ffffff">
<select name=”month”>

<option value="month""> ---- </option> <option value=”jan”>1  </option> <option value=”feb”>2  </option> <option value=”mar”>3  </option> <option value=”apr”>4  </option> <option value=”may”>5  </option> <option value=”jun”>6  </option> <option value=”jul”>7  </option> <option value=”aug”>8  </option> <option value=”sep”>9  </option> <option value=”oct”>10  </option> <option value=”nov”>11  </option> <option value=”dec”>12  </option> </select> 月

  
<select name=”day”>

<option value="day""> ---- </option> <option value=”1”>1  </option> <option value=”2”>2  </option> <option value=”3”>3  </option> <option value=”4”>4  </option> <option value=”5”>5  </option> <option value=”6”>6  </option> <option value=”7”>7  </option> <option value=”8”>8  </option> <option value=”9”>9  </option> <option value=”10”>10  </option> <option value=”11”>11  </option> <option value=”12”>12  </option> <option value=”13”>13  </option> <option value=”14”>14  </option> <option value=”15”>15  </option> <option value=”16”>16  </option> <option value=”17”>17  </option> <option value=”18”>18  </option> <option value=”19”>19  </option> <option value=”20”>20  </option> <option value=”21”>21  </option> <option value=”22”>22  </option> <option value=”23”>23  </option> <option value=”24”>24  </option> <option value=”25”>25  </option> <option value=”26”>26  </option> <option value=”27”>27  </option> <option value=”28”>28  </option> <option value=”29”>29  </option> <option value=”30”>30  </option> <option value=”31”>31  </option> </select> 日 </td> </tr> <tr> <td bgcolor="#efffff"><font color=blue><strong>お問い合わせ内容</strong></font></td> <td bgcolor="#ffffff"><textarea name="comment" rows="7" cols="45"></textarea></td> </tr> </table><br> <center> <input type="submit" name="sub" value="お問い合わせ"> </center> </form>

【PHPファイル】

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <link rel="stylesheet" href="style.css" type="text/css"> <base target="_top"> </head> <body> <div align=center> <?php ini_set('default_charset', 'SJIS'); /*送信ボタンが押されたとき */ if ($_POST{action} == "sendmail") { $ng = 0; /* 入力のチェック */ if (!$_POST{name}) { print("<BR>氏名が入力されていません。<BR>\n"); $ng++; } if (!$_POST{mail}) { print("<BR>メールアドレスが入力されていません。<BR>\n"); $ng++; }   if (!$_POST{tel}) { print("<BR>電話番号が入力されていません。<BR>\n"); $ng++; }   if (!$_POST{mukae}) { print("<BR>お迎え先が選択されていません。<BR>\n"); $ng++; } if (!$_POST{month}) { print("<BR>月が選択されていません。<BR>\n"); $ng++; } if (!$_POST{day}) { print("<BR>日が選択されていません。<BR>\n"); $ng++; } if (!$_POST{comment}) { print("<BR>お問い合わせ内容が入力されていません。<BR>\n"); $ng++; } if ($ng) { print ("<BR>お問い合わせに失敗しました。<BR>\n"); print ('<input type="button" value="前の画面に戻る" onClick="JavaScript:history.back(-1);">'); print ("</body></html>\n"); exit; } $currentdate = date("Y/m/d H:i"); $ordernum = date("Ymd"); $message = "ホームページからお問い合わせがありました。\n\n"; $message .= "■ 送信者は以下の通りです。\n"; $message .= "--------------------------------------------------\n"; $message .= "送信日時 :".$currentdate."\n"; $message .= "氏名:".$_POST{name}."\n"; $message .= "メールアドレス:".$_POST{mail}."\n";   $message .= "電話番号:".$_POST{tel}."\n";   $message .= "お迎え先:".$_POST{mukae}."\n";   $message .= "月:".$_POST{month}."\n";   $message .= "日:".$_POST{day}."\n"; $message .= "お問い合わせ内容:".$_POST{comment}."\n"; $message .= "--------------------------------------------------\n\n"; mb_language("ja"); $from = mb_convert_kana($_POST{mail},"KVrna"); $to = "●●●"; $subject = "ホームページからお問い合わせがありました"; $subject = '=?ISO-2022-JP?B?' . base64_encode(mb_convert_encoding($subject, 'ISO-2022-JP', 'AUTO')) . '?='; $message = stripslashes($message); mail($to,$subject,$message,"From:$from"); print ("<BR><BR>\n"); print ("お問い合わせを受け付けました。<BR>近日中にご返信させていただきます。<BR><BR>\n"); print ('<A HREF="index.html"> >> トップページに戻る</A> <BR>'); print ("</body></html>\n"); exit; } ?> </div> </body> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/12/09 12:42

質問文のコード/エラーはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、質問文にエラー文を追記してください。PHPのエラー文が出ていない場合は出すように設定してください。http://mawatari.jp/archives/how-to-display-php-errors
m.ts10806

2017/12/09 21:41

まずは質問テンプレートにそって質問を書きなおすのを強くすすめます。
guest

回答1

0

以後質問を書くときにはフォーマットに沿って書いてください。読みづらい、情報が足りない、投げっぱなしの三点揃いです。

ざっと見たところコード上の問題は以下の2つです。

  1. HTMLの方のselectタグの先頭のoptionで、ダブルクォーテーションが1つ多く書かれている

<option value="val1""> ---- </option>
<option value="month""> ---- </option>
<option value="day""> ---- </option>
の三箇所。

  1. $_POSTのキーが全てダブルクォーテーションで囲まれていない。

例)$_POST{action}ではなく$_POST{"action"}でないと駄目。

投稿2017/12/11 01:26

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問