[PHP-users 34936] Re: 【ご相談】WEB上でクリックしてもページが開かない

Masato Yokoi m-yokoi @ takasago-elec.co.jp
2010年 1月 18日 (月) 18:52:34 JST


柳本様、難波様、睦月様
こんばんは。

返信ありがとうございます。

文字コードはutf-8ですべて統一しているつもりでしたが、
mbstring.http_input、mbstring.http_output、mbstring.internal_encodingなど
初めて知るコマンド(?)ばかりですので、改めて勉強します。
db内のテーブルやインポートしたcsvファイル、WEB上ではきちんとutf-8を指定して
いると思うのですが
他にも見ないといけないところがあるようですね。

htmlタグはきちんと表示されているので、アドバイスいただきました
error_reporting(E_ALL);、var_dump、print_r、などを活用して
データの落ちなどを検証してみたいと思います。

htmlspecialchars()は、いろいろな書籍、サイトやソースで見たことはあったのです
が
その重要性を知りませんでした。

全くの独学で知り合いもいないので困っていました。
また、こちらのMLにメールするにはレベルが低すぎる(勉強不足)と思い躊躇してい
ました。
でも、みなさん優しく教えていただいて助かりました。
本当にありがとうございます。

今後とも宜しくお願いいたします。

----------
睦月と申します。

とりあえず基本的なところとして、

・入出力文字コードを指定する。
    ・mbstring.http_input、mbstring.http_output、
      mbstring.internal_encoding の指定(SJIS以外を推奨)
・全エラーを表示して開発する。(error_reporting(E_ALL);)※開発中のみ
・変数を表示する際は htmlspecialchars() を通す。

を押さえておきましょう。

--
睦月


----------
難波です。


まずは最終的に表示されるページのソースを見て、
htmlタグが思ったとおりに表示されているかを確認しましょう。

正しく表示されていないのであれば、
var_dumpやprint_r等を使用して、
プログラム内で使用している変数に
想定している値が正しく入っているかを確認したりして
なぜ、どこで出力が思ったとおりにされないのかを突き止めて修正しましょう。

上記の繰り返しがphpでプログラムを作成する基本となると思います。


----------
柳本です。

どうもPHPと関係ないような気がしてなりませんが・・・
(1) target="_blank" を入れる
(2) htmlspecialchars()を通してから表示させる
とかでしょうか?



PHP-users メーリングリストの案内