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';