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

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

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

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

PHP

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

Q&A

解決済

4回答

4862閲覧

いきなりPOSTの値を受け取れなくなった

hiromasa-77

総合スコア8

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/03/19 11:00

編集2017/03/19 16:38
<form action="http://hirosan.boy.jp/s.t.s/wp/wp-content/themes/stsphp/stscheck.php" method="POST" <p>お名前</p> <input name="name" required type="text" class="" value="" size="30"/> <p>年齢</p> <select name="age" class="selectform"> <option value="10+">10~19歳</option> <option value="20+">20~29歳</option> <option value="30+">30~39歳</option> <option value="40+">40~49歳</option> <option value="50+">50~59歳</option> <option value="60+">60~69歳</option> <option value="70+">70~79歳</option> </select> <p>メールアドレス</p> <input type="text" name="email" required size="30" class="" value=""/> <p>本文</p> <textarea name="message" required cols="30" rows="5" class=""></textarea> <input type="submit" class="" value="確認する"/> </form>
<?php //エラー出力強制 ini_set( 'display_errors', 1 ); // エラーを画面に表示(1を0にすると画面上にはエラーは出ない) //すべてのエラー表示 error_reporting( E_ALL ); $_SESSION['token'] = session_id(); header('X-FRAME-OPTIONS: DENY'); ?> <!DOCTYPE html> <?php /* Template Name:お問い合わせ確認 */ ?> <html lang="ja"> <head> <title>sts確認フォーム</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="<?php echo get_stylesheet_uri() ; ?>"type="text/css" /> </head> <body class="hai"> <?php $_SESSION['name'] = $_POST['name']; $_SESSION['age'] = $_POST['age']; $_SESSION['email'] = $_POST['email']; $_SESSION['message'] = $_POST['message']; ?> <p class="check-p">お名前: <?php echo htmlspecialchars($_SESSION['name']); ?> </p> <P class="check-p">年齢: <?php echo htmlspecialchars($_SESSION['age']); ?> </P> <P class="check-p">メールアドレス: <?php echo htmlspecialchars($_SESSION['email']); ?> </P> <P class="check-p">本文: <?php echo htmlspecialchars($_SESSION['message']); ?> </P> <div class="check-div"><form action="http://hirosan.boy.jp/s.t.s/wp/wp-content/themes/stsphp/stssend.php‎" method="POST"><input type="submit" class="submitform2" value="送信する" /> </form></div> </body> </html>

コード
ワードプレスでオリジナルのフォームを作って昨日設置しました。
フォームを設置して、POSTで受け取るようにしています。
フォーム→確認ページ→完了ページという流れです。

確認の為にちゃんと送信出来るかを試してちゃんと送信されたのですが、今日試してみると、フォームで送信すると
画面が真っ白になります。
phpはなにもいじっていません。

パスもあっています。
GETで試しましたが出来ませんでした。
既存のHTMLサイトから昨日ワードプレスに移行しました。

考えられる原因はなんでしょうか?
よろしくお願いします!

プラグインは使っていません。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/03/19 11:24 編集

フォームのソースコードなどの情報を追記されたほうが回答がつきやすくなると思います。
kei344

2017/03/19 11:33

フォームはプラグインを利用されていますか?その場合プラグイン名を追記してください。そうでない場合はWordPressのインストールフォルダとメールフォームのディレクトリの位置関係を追記ください。
kei344

2017/03/19 11:51

コードはスクリーンショットでなくコードブロックにテキストでお書きください。コードブロックはコードを ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
kei344

2017/03/19 13:09

バッククオート3つの前後には改行を入れてください。記入エリアの右部分あたりにリアルタイムに結果が表示されていると思うので、そこを見ながら調整してください。
s8_chu

2017/03/19 16:50

stscheck.phpにてエラーが発生しているので、エラーの文章を追記すると解決策が見つかると思います。
guest

回答4

0

form要素のaction属性に記述されているURLをもう一度確認してみてください。
たとえば、hirosan.bpy.jphirosan.boy.jpだったりしませんか?

質問文のHTMLにいくつかおかしいところがあるようですが、いかがでしょう。

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<form action="http://hirosan.boy.jp/s.t.s/wp/wp-content/themes/stsphp/stscheck.php" method="POST"> 15 <label>お名前 16 <input type="text" name="name" size="30" required> 17 </label> 18 <label>年齢 19 <select name="age" class="selectform"> 20 <option value="10+">10~19歳</option> 21 <option value="20+">20~29歳</option> 22 <option value="30+">30~39歳</option> 23 <option value="40+">40~49歳</option> 24 <option value="50+">50~59歳</option> 25 <option value="60+">60~69歳</option> 26 <option value="70+">70~79歳</option> 27 </select> 28 </label> 29 <label>メールアドレス 30 <input type="text" name="email" required size="30"> 31 </label> 32 <label>本文 33 <textarea name="message" cols="30" rows="5" required></textarea> 34 </label> 35 <input type="submit" value="確認する"> 36</form> 37</body> 38</html>

投稿2017/03/19 13:21

編集2017/03/19 16:16
s8_chu

総合スコア14731

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

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

hiromasa-77

2017/03/19 13:42

ご指摘ありがとうございます。hirosan.boy.jpが正しいです。
s8_chu

2017/03/19 14:16

そこを直してみてもまだ動作しませんか?
hiromasa-77

2017/03/19 14:38

はい。真っ白いページのままです!
s8_chu

2017/03/19 15:05

stscheck.phpは質問者さんが作成したもの、もしくは何か追加の記述を行ったものですか?もしそうであれば、その部分に問題がある可能性が高いのでstscheck.phpのコードを追記していただきたいのですが...
hiromasa-77

2017/03/19 17:05

エラーは表示されなかったのですが stscheck.phpの「get_stylesheet_uri()」を消したところ、画面にアクセスできるようになりました。 助かりました!ありがとうございました。
s8_chu

2017/03/19 17:44

実はエラーは表示されていたのですが...まあ、解決したならば良かったです。
guest

0

form action に設定されたページが、そもそも存在していないようです。

投稿2017/03/19 12:50

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

hiromasa-77

2017/03/19 12:57

ご返信ありがとうございます。 存在しないというのはパスが間違っているということが原因なのでしょうか?
hiromasa-77

2017/03/19 13:43

申し訳ございません。hirosan.boy.jpでした。
guest

0

ベストアンサー

stscheck.php で適切にエラーが表示されるようにすればとりあえず何で表示されないかの手がかりが得られると思います。

PHP

1<?php 2//エラー出力強制 3ini_set( 'display_errors', 1 ); // エラーを画面に表示(1を0にすると画面上にはエラーは出ない) 4//すべてのエラー表示 5error_reporting( E_ALL );

ただ、メールフォームくらいならプラグインを探せばあるので、そういうものを使うほうが安全です。


追記:

追記について。
エラーは出ていると思うのですが、特殊な環境でエラーが出ないのでしょうか。
get_stylesheet_uri() は WordPress の関数なのでテーマフォルダにあるPHPファイルを直接Formで呼び出したときには使えません。

投稿2017/03/19 15:00

編集2017/03/19 16:44
kei344

総合スコア69407

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

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

hiromasa-77

2017/03/19 17:02

画面が真っ白でエラーは表示されていませんでしたが、get_stylesheet_uri()を消したら、見事にstscheck.phpの画面にアクセスできました!最後までお付き合いいただきありがとうございます!助かりました!
guest

0

value="" size"30"/ <option value="10+>10~19歳</option> rows"5" class="">

ワードプレスは知らないんですが
こういう書き方が間違っていたりしませんか?

投稿2017/03/19 12:28

toutou

総合スコア2050

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

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

hiromasa-77

2017/03/19 12:38

申し訳ありません。僕の記述ミスでした。 質問は記述ミスしていましたが、本文にはきちんと記述してあります!
toutou

2017/03/19 12:49

ある程度、同じ環境を試す人が多いので、コードは同じにしてください。コードブロックはうまく直すと灰色のところに入りますので、質問編集をして右のプレビューを見ながら直してください。編集したことがわかるように一筆あるといいです。
hiromasa-77

2017/03/19 12:56

わかりました。気をつけます。ご指摘ありがとうございます!
toutou

2017/03/19 13:05

礼はいいからやって。やった上での礼なら受け取る。
toutou

2017/03/19 14:34

確認の為にちゃんと送信出来るかを試してちゃんと送信されたのですがとありますがどうやって確認したんでしょう?真っ白なら確認できないと思うんですが。
hiromasa-77

2017/03/19 14:49

昨日の時点では送信できて、今日もう一回確認しようと思い送信すると真っ白な画面になりました。
toutou

2017/03/19 14:57

urlのほうに行きデベロッパーツールで見て。自分も一応行ったけど何も入ってないようにしか見えなかった。ワードプレスのほうを間違って消したとか保存忘れとかを確認して。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問