以下のような記述が .php 内にあった場合、Notice: Undefined index: id in /Users/foo/public_html/hoge.php on line n と表示される。 $id = $_GET['id']; これは、外部からの汚染された引数が渡されたことが原因なので、htmlspecialchars を使ってサニタイズすると警告が表示されなくなる。 $id = htmlspecialchars(@$_GET['id']); 上の方法では、@を使ってエラー出力を抑制しているだけ。 $_GET['id'] の値が初期化されていないためにエラーとなっているので、isset で初期化チェックをおこなう。 $id = isset($_GET['id']) ? htmlspecialchars($_GET['id']) : null; 修正:2011/6/1