0

私のphpページには、「未定義のインデックスタイプ」というエラーがあります。しかし、同じ URL が mypage.php?type=abc などの文字列で開かれている場合、このエラーは表示されません!

文字列なしでユーザーをリダイレクトしたい、つまり mypage.php から mypage.php?type=abc にリダイレクトしたい

私はphpを修正する方が良いと決めました!PHPコードは次のとおりです

<?
if (($_REQUEST["type"] == "mz") || ($_REQUEST["type"] == "ie") || ($_REQUEST["type"] == "iea")) {
?>
    <link rel="SHORTCUT ICON" href="icons/<?= $_REQUEST['id'] ?>_favicon.ico" type="image/x-icon">
<?
}
?>

<?
if ($_REQUEST["type"] == "mza") {
?>
    <link rel="icon" href="icons/<?= $_REQUEST['id'] ?>_extra_animated_favicon.gif" type="image/x-icon">
<? } ?>

2行目と最終行に誤りがあります

4

3 に答える 3

0

私が正しく理解しているなら、あなたはこれをしたい:

window.location.href = window.location.origin + window.location.pathname + '?type=abc';

さらに良いことに、通知で警告が表示されないように PHP コードを修正してください。

于 2012-11-21T10:33:43.057 に答える
0

PHP ファイルの問題を修正するか、.htaccess エントリを追加してユーザーを直接リダイレクトします。

次のように PHP ファイルにコードを追加することをお勧めします。

if (!isset($_GET)) { //or you can use more specifically if (!isset($_GET['type'])) { 

//there is no get variables here so we either add a local variable or redirect (which is redundant)

$type = "abc"; //or even $_GET['type'] = "abc";

//redirect header("location: mypage.php?type=abc");

}else{

//execute work

}

.htaccess を変更するには、一部の人が持っていない特定の特権が必要です。

EDIT:これを行うjavascriptの方法も可能ですが、最も遅く、あまりお勧めできません。

あなたの更新に応じて:

おそらく、使用する前に $_REQUEST['id'] を確認する必要があります。(上で紹介したのと同じ方法で行うことができます)

if (isset($_REQUEST['id'])) {

//do your code

}
else {

//no ID here

}

また、サーバーが短いタグ ( ) をサポートしていない可能性があります<?= ?>。代わりに echo を使用してみてください。

echo "<link blah blah blah=\"$_REQUEST[id]_icon.ico\" blah />";
于 2012-11-21T10:35:17.133 に答える
0

これをチェックして

<script type="text/javascript">

function urlRD(){
if (location.href == "http://mypage.php")
window.location = "http://mypage.php?type=abc"
}

</script>

その後:

<body onLoad="urlRD()">
于 2012-11-21T10:39:01.577 に答える