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

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

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

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

解決済

php アンケート結果が表示されない

削除済ユーザー
削除済ユーザー

総合スコア0

PHP

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

1回答

-1評価

0クリップ

87閲覧

投稿2019/08/30 10:44

アンケートフォームを実装しているのですが、アンケート項目に記載漏れがあった場合のみ戻る様にして、記載に問題がない場合のみつぎのページに移行する様にしたのですが、ページが移動したさい、表示されません。

html

<html> <head> <meta http-equiv="content-type" charset="utf-8"> </head> <body> <form method="POST" action="check.php"> ニックネームを入力して下さい<br> <input name="nickname" type="text" style="width: 100px"><br> メールアドレスを入力して下さい。<br> <input name="email" type="text" style="width: 200px"><br> ご意見を一言でお聞かせ下さい。<br> <input name="goiken" type="text" style="width: 300px"><br> <br> <input type="submit" value="送信"> </form> </body> </html>

php

<html> <head> <meta http-equiv="content-type" charset="utf-8"> </head> <body> <?php $nickname=filter_input(INPUT_POST,"nickname"); $email=filter_input(INPUT_POST,"email"); $goiken=filter_input(INPUT_POST,"goiken"); $nickname=htmlspecialchars($nickname); $email=htmlspecialchars($email); $goiken=htmlspecialchars($goiken); if($nickname=="") { print"ニックネームが入力されていません。<br>"; } else { print"ようこそ"; print $nickname; print"様"; print"<br>"; } if($email=="") { print"メールアドレスが入力されていません。<br>"; } else { print"メールアドレス:"; print$email; print"<br>"; } if($goiken=="") { print"ご意見が入力されていません。<br>"; } else { print"ご意見『"; print $goiken; print"』<br>"; } if( $nickname==''||$email==''||$goiken=='') { print'<form>'; print'<input type="button" onclick="history.back()" value="戻る">'; print'</form>'; } else { print'<form method="post" action="thanks.php">'; print '<input name="nickname" type="hidden" value="'.$nickname.'">'; print '<input name="email" type="hidden" value="'.$email.'">'; print '<input name="goiken" type="hidden" value="'.$goiken.'">'; print'<input type="button" onclick="history.back()" value="戻る">'; print'<input type="submit" value="OK">'; print"</form>"; } ?> </body> </html>

php

<!DOCTYPE HTML PUBLIC="-//W3C//DTD/HTML 4.01Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UFT-8"> </head> <body> <?php $dsn = 'myspl;dbname=project;host=localhost'; $user = 'root'; $password = ''; $dbh = new PDO('$dsn,$user,$password'); $dbh ->query('SET NAME uft8'); $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; $nickname=htmlspecialchars($nickname); $email=htmlspecialchars($email); $goiken=htmlspecialchars($goiken); print$nickname; print'様<br>'; print'ご意見ありがとうございました<br>'; print'いただいたご意見『'; print$goiken; print'』<br>'; print$email; print'メールに送りましたのでご確認ください。'; //メールを送信するプログラム /* $mail_sub='アンケート受け付けました'; $mail_body=$nickname."様へ/nアンケートにご協力いただきありがとうございました。"; $mail_body=html_entity_decode($mail_body,ENT_QUOTES,"UFT-8"); $mail_head='From:xxx@xx.co.jp'; mb_language('Japanese'); mb_internal_encoding("UFT-8"); mb_send_mail($mail,$mail_sub,$maail_body,$mail_head); */ $sql = 'INSERT INTO anketo (nickname,email,goiken)VALUES("'.$nickname.'","'.$email.'","'.$goiken.'")'; $stmt = $dbh->prepare($sql); $stmt ->execute(); $dbh = null; ?> </body> </html>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806
m.ts10806

2019/08/30 11:55

なんで最後filter_inputじゃなく$_POSTなんだろう・・・ 意味分かって使ってるんでしょうか。 あと想定通りのhtmlになってるかどうかブラウザ「ソースを表示」で確認してくださいね。 ところで、質問は何でしょうか。 できれば質問テンプレートにそって書いてください。
takasima20
takasima20

2019/08/30 13:49

まさか hidden 指定しておいて表示されないってハナシ?
mari.rinn
mari.rinn

2019/08/31 03:39 編集

このthanks.phpのファイル、最後のsql文まで書いているということは、本の通りやってるなら、その前までの print'メールに送りましたのでご確認ください。'; までを一応表示するというのはクリアされてるんですかね? だとすると問題はsql文からということになりますので、その旨追記された方が良いかと思います。もし、sql文前まででのチェックをされてないなら、とりあえずsql文はコメントアウトしといて、本の通り、ここまでを表示してみてどうなるかチェックしてください。
mari.rinn
mari.rinn

2019/08/31 00:05

m.ts10806様 質問者さんじゃない私が答えるのもあれですが、この本(いきなりはじめるPHP)という本は、意味とか文法的な物はほとんどまともには教えてなくて、とにかく挫折せずにやる為には四の五の言わずに作ってみようよ ていうコンセプトのいわば「なんちゃってPHP」の本ですので、作って動かす楽しさみたいなものを味わう為のものですから、いろいろさわりを入れてるのであっちには書いてるけどこっちには書いてないみたいなのも出てきます。 まあそういう本なので細かい所は突っ込まないであげてください‎(笑)
asahina1979
asahina1979

2019/08/31 16:04

いきなりPHPって挫折させて足切りするための書籍じゃなかったけ?

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

PHP

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