如果没有字符串,则重定向到其他URL [JAVASCRIPT]

时间:2012-11-21 10:27:54

标签: javascript string types indexing undefined

在我的php页面中出现“Undefined Index type”错误。但是如果用字符串打开相同的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行和最后一行有错误

3 个答案:

答案 0 :(得分:0)

如果我理解正确,你想这样做:

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

更好的是,修复您的PHP代码,以免在通知上收到任何警告!

答案 1 :(得分: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需要某些人没有的某些普遍存在。

编辑:这样做的javascript方式也是可能的,但 laggiest 也不太值得推荐。

响应您的更新:

您可能需要在使用之前检查$ _REQUEST ['id']; (你可以像我上面提到的那样做)

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

//do your code

}
else {

//no ID here

}

也可能是您的服务器不支持短标签(<?= ?>),请尝试使用echo:

echo "<link blah blah blah=\"$_REQUEST[id]_icon.ico\" blah />";

答案 2 :(得分:0)

检查

<script type="text/javascript">

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

</script>

然后:

<body onLoad="urlRD()">