0

Internet Explorer を使用している場合にユーザーを別のページにリダイレクトしようとしていますが、このコードはユーザーをリダイレクトせず、IE で通常どおりページをロードします

MSIE のさまざまなバリエーションを試しましたが、何も機能しないようです

session_start();

  if (strpos($_SERVER['HTTP_USER_AGENT'], '/MSIE/i') !== false){
header('Location: /ie.php');
die();
}else{
echo "User Agent not recognised.";
}

誰にもアイデアはありますか?

4

4 に答える 4

6

これを試して:

session_start();

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false){
    header('Location: /ie.php');
    die();
}else{
    echo "User Agent not recognised.";
}

その理由は、strposの 2 番目のパラメーターである針が正規表現であってはならないからです。

于 2012-10-12T13:53:56.050 に答える
1

php をまったく必要としない別の方法があり、それは条件付きコメントです。

<!--[if IE]>
<?php echo "User is using Internet Explorer"; ?>
<![endif]-->

<!--[if IE 6]>
<?php echo "User is using Internet Explorer 6"; ?>
<![endif]-->

等...

また、エクスプローラーが IE であるかどうか、およびバージョンが X より小さいか大きいかを取得できます。

ユーザーが IE を使用し、バージョン 9 未満の場合のコード ユーザーが IE を使用し、バージョン 7 以下の場合のコード ユーザーが IE を使用し、バージョン 6 以上の場合のコード

利点は、実装が簡単なブラウザーのバージョンを選択できることと、サーバー xD から使用するリソースが少し少ないことです (ただし、それは重要な違いではありません)。

もう 1 つの利点は、ブラウザーに応じて、ページのヘッダーに css または js ファイルを含めるために使用できることです。

欠点は、ブラウザ ベース (クライアント側) であるため、制御が少ないことです。

于 2012-10-12T14:03:58.923 に答える
0

'/MSIE/i'シンプルに変更しMSIEて試してみてください。また、 die() 関数が必要ですか?

于 2012-10-12T13:54:52.893 に答える
-2

ob_start();を入れてみてください。PHPファイルの先頭に

于 2012-10-12T13:54:25.550 に答える