96's blog

WEBサイト制作科 6ヶ月コース

PHP28(課題フォームの修正)

修正内容

  • COOKIEに入る前に、以前の課題で作成したフォームを授業ブログのソースを元に修正。
  • 修正箇所は、1)nl2brを入れる。2)htmlspecialcharsをprintのすぐ前で使う。3)メールをユーザーとクライアントに届くようにする。

問題点(query('SET NAMES UTF8');)

  • データベースに入力内容を格納するときに文字コード指定する$dbh ->query('SET NAMES UTF8');について。
  • これがないと文字化けのままデータベースに格納してしまう。
  • ただしこの記述は非推奨。でもこれに変わる書き方がまだわからない。

解決策

  • $dsnでホストサーバー名とデータベース名を指定したあと、;charset=utf8を追加する。具体的には、
$dsn='mysql:dbname=データベース名;host=ホストサーバー名;charset=utf8';