PHP Notice: Undefined index: HTTP_USER_AGENTが出た
PHPでWebサイトを構築していてユーザエージェントを取得している処理で、
「PHP Notice: Undefined index: HTTP_USER_AGENT」というエラーが出ている場合の原因を考えます。
原因
Undefined indexは通常、値が定義されていない時に出るエラーになります。
ブラウザからのアクセスであればユーザーエージェントは設定されてくるのですが、ブラウザのダウンロード補助アドオンやWeb自動巡回などはユーザーエージェントを返さないものがあります。
なので、通常アクセスでは特にHTTP_USER_AGENTの値チェックなどをせずに実装してしまいがちです。
どうするか
毎回エラーが出るのは嫌なので、チェックを追加してエラーを回避することにします。
$user_agent = "";
// ユーザーエージェントが定義されている場合だけ取得
if(isset($_SERVER["HTTP_USER_AGENT"])){
$user_agent = $_SERVER["HTTP_USER_AGENT"];
}
これでエラーが出なくなります。
ディスカッション
コメント一覧
まだ、コメントがありません