在我的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行和最后一行有错误
答案 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()">