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

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

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

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

PHP

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

Q&A

解決済

1回答

1036閲覧

ファイルもサーバーに入れており、スラッグも間違っていないのに、ログではファイルが無い扱いをされる

tooju

総合スコア15

WordPress

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

PHP

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

0グッド

0クリップ

投稿2021/04/27 04:50

編集2021/04/27 06:03

イメージ説明
現在、ポートフォリオにコピペで拾ってきたコンタクトフォームを設置しています。
wordpress、コンタクトフォームの遷移先を確認フォームに設定しているが、次へのボタンを押すとtopページに遷移してしまいます。
上記のログ919行目では遷移先のkonoha/eventcontactが404で見つからないと出ているのですが。このeventcontactのページは確かにサーバーにアップしており、スラッグもeventcontactに変えており、このパス自体もgoogleのurlフォームに入力するとちゃんとページが反映されます。しかしcontactformの次へのボタンを押すと、上記のエラーが起きたしまうのです。
wordpressに入れる前の、htmlの仕様の時はちゃんと遷移もして、メールを飛ばすことができたのですが、wordpressに入れたら、actionに書かれたパスに遷移しなくなってしまったのです。ここから、どこを変えたほうがいいのか、推測できることはあるのでしょうか。もしわかる方がいらっしゃれば教えていただけると幸いです。わかりにくい説明ですみません。よろしくお願いいたします。

<?php /* Template Name: コンタクトフォーム */ ?> <head> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/validationEngine.jquery.css" type="text/css" media="screen"> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/event.css" type="text/css" media="screen"> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/eventadd.css" type="text/css" media="screen"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> function check(){ var flag = 0; // 設定開始(必須にする項目を設定してください) if(document.event01.name.value == ""){ window.alert('お名前(姓)に未入力がありました'); return false; } else if(document.event01.name2.value == ""){ window.alert('お名前(名)に未入力がありました'); return false; } else if(document.event01.furi.value == ""){ window.alert('フリガナ(セイ)に未入力がありました'); return false; } else if(document.event01.furi2.value == ""){ window.alert('フリガナ(メイ)に未入力がありました'); return false; } else if(document.event01.zip1.value == ""){ window.alert('郵便番号に未入力がありました'); return false; } else if(document.forms['event01'].elements['address[0]'].value == ""){ window.alert('都道府県が未選択です'); return false; } else if(document.forms['event01'].elements['address[1]'].value == ""){ window.alert('市区町村に未入力がありました'); return false; } else if(document.forms['event01'].elements['address[2]'].value == ""){ window.alert('番地に未入力がありました'); return false; } else if(document.event01.tel.value == ""){ window.alert('電話番号に未入力がありました'); return false; } else if(document.forms['event01'].elements['mail'].value == ""){ window.alert('メールアドレスに未入力がありました'); return false; } else if(document.event01.sanka.value == ""){ window.alert('ご参加予定人数に未入力がありました'); return false; } else if(document.event01.sanka2.value == ""){ window.alert('お子様の人数に未入力がありました'); return false; } else if(document.event01.pri.checked == ""){ window.alert('プライバシーポリシーが未選択です'); return false; } return true; // 送信を実行 } </script> </head> <!--=============== header読み込み ==============--> <div class="mv"> <div class="mv_inner"> <div class="event_sec"> <div class="event_h1"> <div class="event_form"> <div class="event_form_h"> <h2 id="Contact">Contact</h2> </div> <form name="event01" action="/konoha/eventcontact" onSubmit="return check();" class="eventForm" method="post"> <table> <tr> <th>※お名前</th> <td class="input_box2">姓<input type="text" name="name" class="" placeholder="山田"><br> 名<input type="text" name="name2" class="" placeholder="太郎"></td> </tr> <tr> <th>※ふりがな</th> <td class="input_box2">せい<input type="text" name="furi" class="" placeholder="やまだ"><br> めい<input type="text" name="furi2" class="" placeholder="たろう"></td> </tr> <!-- <tr> <th>日付</th> <td><input type="radio" name="day" value="6月8日" checked="checked">6月8日 <input type="radio" name="day" value="6月9日" class="mar_L20">6月9日</td> </tr> --> <tr> <th>電話番号</th> <td class="input_box2"><input type="tel" name="tel" class="textField validate[required,custom[phone]]" placeholder="000-000-0000"></td> </tr> <tr> <th>※メールアドレス</th> <td class="input_box2"><input type="email" name="mail" class="textField validate[required,custom[email]]" placeholder="〇〇〇@〇〇〇.com"></td> </tr> <tr> <th>ご質問・ご要望などありましたら、ご記入ください。</th> <td class="input_box2"><textarea type="text" class="kind" name="kind"></textarea></td> </tr> </table> <div class="subm_btn"><input type="submit" value="次へ" class=""></div> </form> </div> </div> </div> </div> <script src="js/ajaxzip3.js"></script>

このコードがformの部分です。

<form name="event01" action="/konoha/eventcontact" onSubmit="return check();" class="eventForm" method="post">

これが次へのボタン部分になります。
よろしくお願いいたします。
追記、固定ページのeventcontactページを画像で添付します。
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明
以下、function.phpのファイルです。パンクズリストのために作っている分です。
イメージ説明
よろしくお願いいたします。

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

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

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

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

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

tabuu

2021/04/27 05:36

methodがpostの場合はgetと異なる処理していませんか? eventcontactは固定ページですか? eventcontactやfunctions.phpのソースも質問に追記してください。
tooju

2021/04/27 06:06

ご指摘いただきありがとうございます! eventcontactは固定ページです。 functions.phpは元々作っていなかったのですが、パンクズリストで必要になったので作成したものならあります。 eventcontactとfunction.phpのコードが文字数に引っかかってしまったので、画像表記になってしまっています。申し訳ございません!
tabuu

2021/04/27 23:32

画像は見難いのと、問題の切り分けの為に(バックアップをとって)原因特定に不要なソースコードを 削っていただけないでしょうか? 現時点での情報で気になるところとしては、 ・HTTPSではなくHTTPでPOSTする場合は強制的に404になるなど制限入っていないでしょうか? ・slugがeventcontactになっているか確認できていません。 ・提示されたソースコードがeventcontactで呼び出されている確認できていません。 あと、今回の課題の本質ではありませんが、 ・テンプレートがWordPressの様式から離れています。(get_headerが無いなど) ・セキュリティ脆弱な個所があります。(nonceが無いなど) ContactForm等のプラグインを利用することもご検討ください。
tooju

2021/04/28 04:12

ありがとうございます!すみません、contactformの中に予約語というのがあったのが結果として原因でした。name="name"と書いていたのをname="namae"に直すことで遷移がうまくいきました。ご指摘通り、コードの書き方にたくさん問題点があることがわかりました。contactformのプラグインの導入も視野に入れようと思います!問題点、一緒に考えてくださり本当にありがとうございます。
tabuu

2021/04/28 04:22

解決して良かったです。 ご自身で回答を書いてベストアンサーを付けて完了させてください。
guest

回答1

0

自己解決

予約語重複によるエラー
name="name"というふうに、予約語という非推奨の書き方をしていた
ために起きたエラーだった。name="namae"に変更することでエラーは解除された。

投稿2021/04/28 08:34

tooju

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問