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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2074閲覧

【WordPress】自作問い合わせフォーム/確認画面遷移しない

lalalady

総合スコア1

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/08/17 15:07

編集2020/08/17 15:10

前提・実現したいこと

コンタクトフォーム7などのプラグインを使用せずに、オリジナルデザインで「入力フォーム→確認画面→完了画面→サンクスメール送信/管理者に入力情報メール送信」したいのです。

発生している問題・エラーメッセージ

htmlで構築している際はメールの受信まで完璧でしたが、WordPressに移行した途端、入力フォームから確認画面への遷移で404エラーが出てしまいます。が、URLはきちんとスラッグを取得しています。
入力フォーム(親:page-request.php)・確認画面(子:page-requestconfirm.php)・完了画面(孫:page-requestmail.php)は全て固定ページにしており、ダッシュボードの固定ページから表示はされています。

納期が迫っており、とてもテンパっているので、単純な記述ミスなのか分かりませんが、どなたか助けてください。

該当のソースコード

php

1【入力フォーム:page-request.php】 2<div id="riquest-form"> 3 <form id="form" enctype="multipart/form-data" action="<?php echo home_url('/requestconfirm/'); ?>" method="post"> 4 <table class="riquest-table"> 5 <tr> 6 <th> 7 <label>お名前</label><span>必須</span> 8 </th> 9 <td> 10 <input type="text" id="firstname" name="firstname" required placeholder=""> 11 <input type="text" id="lastname" name="lastname" required placeholder=""> 12 </td> 13 </tr> 14 15 <tr> 16 <th> 17 <label>フリガナ</label> <span>必須</span> 18 </th> 19 <td> 20 <input type="text" id="first_f_name" name="first_f_name" required placeholder="セイ"> 21 <input type="text" id="last_f_name" name="last_f_name" required placeholder="メイ"> 22 </td> 23 </tr> 24 25 <tr> 26 <th> 27 <label>勤務先</label> 28 </th> 29 <td> 30 <input type="text" id="company" name="company" placeholder="○○株式会社"> 31 <span>※法人のお客様は<a href="<?php echo home_url('/request_corporation'); ?>" target="_blank">こちら</a>からお申込みください。</span> 32 </td> 33 </tr> 34 35 <tr> 36 <th> 37 <label>性別</label> 38 </th> 39 <td> 40 <input type="radio" name="sex" value="男性"> 男性  41 <input type="radio" name="sex" value="女性"> 女性 42 </td> 43 </tr> 44 45 <tr> 46 <th> 47 <label>生年月日</label> 48 </th> 49 <td> 50 <select id="year" name="year">省略</select> 5152 <select id="month" name="month">省略</select> 5354 <select id="day" name="day">省略</select> 5556 </td> 57 </tr> 58 59 <tr> 60 <th> 61 <label>資料の受取方法</label><span>必須</span> 62 </th> 63 <td> 64 <input type="radio" name="type" value="郵送"> 郵送  65 <input type="radio" name="type" value="ダウンロード"> ダウンロード 66 </td> 67 </tr> 68 69 <tr> 70 <th> 71 <label>ご希望の送付先</label> 72 </th> 73 <td> 74 <select id="send" name="send"> 75 <option value="">-</option> 76 <option value="自宅">自宅</option> 77 <option value="勤務先">勤務先</option> 78 </select> 79 <span>※自宅または勤務先をご選択ください。</span> 80 </td> 81 </tr> 82 83 <tr> 84 <th> 85 <label>住所</label> <span>必須</span> 86 </th> 87 <td class="addres-box"> 88<input type="text" id="zip11" name="zip11" onKeyUp="AjaxZip3.zip2addr(this,'','addr11','addr11');" placeholder="0000000"> 89 <!-- 住所表示 --> 90 <input type="text" id="addr11" name="addr11" placeholder="" required> 91 <!-- 番地やマンション名 --> 92 <input type="text" id="address" name="address" placeholder="番地・建物名"> 93 <span>※町名以降、番地・建物名・号数を、お忘れなくご入力ください。</span> 94 </td> 95 </tr> 96 97 <tr> 98 <th> 99 <label>電話番号</label> <span>必須</span> 100 </th> 101 <td> 102 <input type="tel" id="tel" name="tel" required placeholder="00-0000-0000"> 103 <span>※半角数字でご入力ください</span> 104 </td> 105 </tr> 106 107 <tr> 108 <th> 109 <label>メールアドレス</label> <span>必須</span> 110 </th> 111 <td> 112 <input type="email" id="email" name="email" required placeholder="address@mail.com"> 113 <span>※半角英数字でご入力ください</span> 114 </td> 115 </tr> 116 117 <tr> 118 <th> 119 <label>お問い合わせ</label> 120 </th> 121 <td> 122 <textarea id="comment" name="comment" placeholder=""></textarea> 123 </td> 124 </tr> 125 </table> 126 <!-- 個人情報の取り扱いについて --> 127 <div class="privacy"> 128 <h3>個人情報の取り扱いについて</h3> 129 <p>以下をご確認頂き、「同意する」にチェックをお願い致します。</p> 130 <ol> 131 <li> 132 ※こちらは個人情報の取り扱いに関する明文です。 133 </li> 134 </ol> 135 136 </div> 137 <span class="privacy-check"> 138 <input type="checkbox" id="privacy_check" name="privacy_check" value="個人情報の取り扱いに同意しました。" required> 個人情報の取り扱いに同意する。 139 </span> 140 141 <button type="submit" id="btn" name="action" value="post" class="hvr-shrink"> 142 送信内容を確認する 143 </button> 144 <p class="ssltext">※お客さまの入力情報はSSL通信により暗号化され守られております。</p> 145 </form> 146 </div>

文字数オーバーのため確認画面と完了画面のコードは割愛します。

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

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

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

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

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

CHERRY

2020/08/17 15:33 編集

URLが正しいのに 404 担っているということですが、Web サーバーや PHP のログに どのファイルが見つからない等のメッセージが記録されていると思います。 どのようなメッセージが出ているか 質問に追記してください。
lalalady

2020/08/17 15:34

CHERRY 様 ご回答ありがとうございます。 webサーバーはあAWSを使用しており、そちらに関しては担当の方が管理しているのでログが確認できません。 php初心者ですのでログの確認方法がわからないのですが、ご教授いただけますでしょうか...
lalalady

2020/08/17 15:44

ログを確認するために下記サイトを参考にwp-config.phpの一番下に define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'WP_DEBUG_LOG', true ); こちらを入力してサーバに上げて、入力フォームから確認ボタンを押したら確認画面に遷移したのですが、再び入力フォーム→確認ボタンを押したらまた404ページに飛んでしまいました。 ちなみにログは表示されません。
CHERRY

2020/08/17 23:30

404 の場合は、Web サーバーが読み込むファイルを見つけられない状態でエラーを返していることもあります。 その場合は、PHP の実行前なので WordPress をデバッグモードにして実行してもエラーは表示されません。
lalalady

2020/08/17 23:39

CHERRY 様 おはようございます。 ありがとうございます。 一度、サーバーの担当者に確認してみます。 ちなみになんですが、上記のコードで何か不備は見当たりますでしょうか?
CHERRY

2020/08/18 00:05

固定ページのスラッグは、 request requestconfirm requestmail にされているということですが、個々のページを直接 URL を指定して開くことは可能ですか?
lalalady

2020/08/18 00:06

はい、全てちゃんと開けます。
lalalady

2020/08/18 00:42

サーバーのことはほとんど分かりませんが... 今回AWSサーバーの構築と並行してWebサイトの制作をしており、サーバーはほぼ完成(?)していると思うんですが、本サーバー(domain.com)と仮サーバー(test.domain.com)を作り、サーバーにファイルをアップロードしたらどちらでも同じように表示されるようになっています。 サイトの構築は終わっており、残すはこの問い合わせフォームの問題のみとなっているため、現在本サーバーはアクセスできないようになっております。 これが原因でしょうか?
CHERRY

2020/08/18 01:01 編集

質問に記載されているコード的には、問題なさそうですが... 仮サーバーでは、動作しているのでしょうか? > サイトの構築は終わっており、残すはこの問い合わせフォームの問題のみとなっているため、現在本サーバーはアクセスできないようになっております。 ? 本サーバーでも フォームの入力画面は、表示されているのですよね? たとえば、https://ドメイン名/ で WordPress のトップページは表示されるのでしょうか?
lalalady

2020/08/18 01:12

入力フォーム内のselectの「生年月日」の月の部分でエラーが出ていることが分かり、そこの項目を丸ごと消去したら無事確認画面まで遷移することができました。 CHERRY 様、色々親身に相談に乗ってくださり本当にありがとうございます。 自分では気づけない部分もあったので視野が広がり、問題解決することができました。 ですが、再び問題が発生してしまいました... 完了画面まで遷移するのですが、「サンクスメール送信/管理者に入力情報メール送信」が一向に届かないのです。 こちらは別件になりますのでまた新たに質問スレッドを立てますので、よろしければそちらも ご回答いただきたく存じます。 今回は本当にありがとうございました。
guest

回答1

0

自己解決

selectタグの生年月日「月」の部分でエラーが出ていたことが分かり、この項目をまるっと消去したら無事完了画面まで遷移知ることができました。

<tr> <th> <label>生年月日</label> </th> <td> <select id="year" name="year"> <option value="">-</option> <option value="1900">1900</option> <option value="1901">1901</option> <option value="1902">1902</option> <option value="1903">1903</option> <option value="1904">1904</option> <option value="1905">1905</option> <option value="1906">1906</option> <option value="1907">1907</option> <option value="1908">1908</option> <option value="1909">1909</option> <option value="1910">1910</option> <option value="1911">1911</option> <option value="1912">1912</option> <option value="1913">1913</option> <option value="1914">1914</option> <option value="1915">1915</option> <option value="1916">1916</option> <option value="1917">1917</option> <option value="1918">1918</option> <option value="1919">1919</option> <option value="1920">1920</option> <option value="1921">1921</option> <option value="1922">1922</option> <option value="1923">1923</option> <option value="1924">1924</option> <option value="1925">1925</option> <option value="1926">1926</option> <option value="1927">1927</option> <option value="1928">1928</option> <option value="1929">1929</option> <option value="1930">1930</option> <option value="1931">1931</option> <option value="1932">1932</option> <option value="1933">1933</option> <option value="1934">1934</option> <option value="1935">1935</option> <option value="1936">1936</option> <option value="1937">1937</option> <option value="1938">1938</option> <option value="1939">1939</option> <option value="1940">1940</option> <option value="1941">1941</option> <option value="1942">1942</option> <option value="1943">1943</option> <option value="1944">1944</option> <option value="1945">1945</option> <option value="1946">1946</option> <option value="1947">1947</option> <option value="1948">1948</option> <option value="1949">1949</option> <option value="1950">1950</option> <option value="1951">1951</option> <option value="1952">1952</option> <option value="1953">1953</option> <option value="1954">1954</option> <option value="1955">1955</option> <option value="1956">1956</option> <option value="1957">1957</option> <option value="1958">1958</option> <option value="1959">1959</option> <option value="1960">1960</option> <option value="1961">1961</option> <option value="1962">1962</option> <option value="1963">1963</option> <option value="1964">1964</option> <option value="1965">1965</option> <option value="1966">1966</option> <option value="1967">1967</option> <option value="1968">1968</option> <option value="1969">1969</option> <option value="1970">1970</option> <option value="1971">1971</option> <option value="1972">1972</option> <option value="1973">1973</option> <option value="1974">1974</option> <option value="1975">1975</option> <option value="1976">1976</option> <option value="1977">1977</option> <option value="1978">1978</option> <option value="1979">1979</option> <option value="1980">1980</option> <option value="1981">1981</option> <option value="1982">1982</option> <option value="1983">1983</option> <option value="1984">1984</option> <option value="1985">1985</option> <option value="1986">1986</option> <option value="1987">1987</option> <option value="1988">1988</option> <option value="1989">1989</option> <option value="1990">1990</option> <option value="1991">1991</option> <option value="1992">1992</option> <option value="1993">1993</option> <option value="1994">1994</option> <option value="1995">1995</option> <option value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> <option value="1999">1999</option> <option value="2000">2000</option> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> <option value="2020">2020</option> </select> 年 <select id="month01" name="month01"> <option value="">-</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> </select> 月 <select id="day" name="day"> <option value="">-</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>

投稿2020/08/18 01:15

lalalady

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問