WEBサイトを運営していく上で、画面上で入力された情報に対して、何等かのアクションを起こすことが必要なケースもでてきます。例えば、会員登録等で会員の名前等を画面上で入力し、その結果を画面上に表示する等です。
その操作をPHPで処理するには、どのような対応が必要になってくるのでしょうか。
そこで、この記事では、WordPress記事のフォームから送信されたデータをPHPで処理し、記事ページにデータを表示する方法について紹介します。
今回実施すること(ショートコードで対応する場合)
記事内にHTMLでinputフォームを作る
▼記事に記述するHTMLコード
|
1 2 3 4 |
<form method="post"> テキストを入力して、送信ボタンを押してください:<input type="text" name="INPUT_DATA"> <input type="submit" value="送信"> </form> |
- テキストフォームと送信ボタンを追加。
- 入力されたデータはINPUT_DATAの名前でPOSTします。
PHPプログラムをfunctions.phpに記述
inputフォームから受け取ったデータを処理するPHPプログラムをfunctions.phpに記述します。
▼functions.phpに記述するコード
|
1 2 3 4 5 6 7 8 9 10 |
function form_receive(){ $postdata = filter_input(INPUT_POST,"INPUT_DATA"); if($postdata != NULL){ return $postdata; } else{ return '入力無し。'; } } add_shortcode('sc_test','form_receive'); |
- 入力されたデータINPUT_DATAを受け取って
- filter_inputでフィルタリングし、$postdataとして表示(filter_inputの解説は→こちら)
- 未入力の場合は、「入力無し。」と表示します。
- ショートコードについて(→関連記事)
記事にショートコードを貼る
▼記事に記述するショートコード名
|
1 |
[sc_test] |
- 記事内の結果を表示したい箇所にこのショートコード名を記述します。
結果を表示する
入力したテキストを表示します↓
入力無し。
今回実施すること(iframeタグで対応する場合)
PHPファイルを作成する
▼PHPファイルに記述するコード
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $postdata = filter_input(INPUT_POST,"INPUT_DATA"); if($postdata != NULL){ echo "入力したテキストを表示します→: " . htmlspecialchars($postdata) . "<br>"; } else{ echo '入力無し。'; } } ?> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>無題 1</title> </head> <body> <form action="test_input_form.php" method="post"> テキストを入力して、送信ボタンを押してください:<input type="text" name="INPUT_DATA"> <input type="submit" value="送信"> </form> </body> </html> |
- PHPプログラム部分は、ショートコードの場合とほぼ同じです。
- その下に、HTMLでinputフォームを記述します。
- その前後は、HTMLでhead,body定型句を記述します。
- ファイル名は「test_input_form.php」で保存。
記事にiframeタグを記述する
▼記事に記述するiframeタグコード
|
1 2 3 4 5 6 7 |
<iframe width="900" height="300" frameborder="0" allow="fullscreen" src="https://newrongo55.hopto.org/test_input_form.php"> </iframe> |
- iframeタグについて(→関連記事)
結果を表示する
▼結果
まとめ
今回は、WordPress記事のフォームから送信されたデータをPHPで処理し、記事ページにデータを表示してみました。
これからWordPressでWEBサイトを立ち上げる方の参考になれば嬉しいです。
参考

コメント