PHP重定向,但在父帧中
我有一个使用简单php脚本和MySQL的小时间url缩短器。 它所做的是获取id并与SQL数据库中的id匹配,然后使用header将其重定向到数据库中找到的指定链接 但是如果我有一个框架集,源代码是http://thetpg.tk 重定向链接加载在帧内,而不是父窗口 例如,查看源代码的页面 其中帧源为 进一步重定向到 . 我希望1加载3作为父级,但只需更改2中的函数即可。 有这样的函数吗 头部位置:http://thepirategamer.tk/music.php","家长",; 在php中,还是有其他方法来实现它 注意:我无法在2中更改任何内容PHP重定向,但在父帧中,php,mysql,sql,redirect,frame,Php,Mysql,Sql,Redirect,Frame,我有一个使用简单php脚本和MySQL的小时间url缩短器。 它所做的是获取id并与SQL数据库中的id匹配,然后使用header将其重定向到数据库中找到的指定链接 但是如果我有一个框架集,源代码是http://thetpg.tk 重定向链接加载在帧内,而不是父窗口 例如,查看源代码的页面 其中帧源为 进一步重定向到 . 我希望1加载3作为父级,但只需更改2中的函数即可。 有这样的函数吗 头部位置:http://thepirategamer.tk/music.php","家长",; 在php中,
提前谢谢!: 有一些树解决方案可以帮助您做到这一点: 第一个解决方案: 如果您使用echo生成html代码,则此解决方案可能涉及php。当您需要输出a标记时,应确保添加atribute target=''''\u parent' 现在你需要做的就是在身体像这样加载时调用这个函数
<body onload="init();"> ... </body>
function init ()
{
TagNames = document.getElementById('iframe').contentWindow.document.getElementsByTagName('a');
for( var x=0; x < TagNames.length; x++ )
TagNames[x].onclick = function()
{
if ( is_external_url( this.href ) )
document.location = this.href;
}
};
当主体被加载时,您还需要调用这个函数
<body onload="init();"> ... </body>
_父/目标=。。是clientside,PHP serverside。使用javascript怎么样?PHP函数是clientside,没有您想要的函数。在html中,标记target=\u parent中使用了一个属性。PHP中内置的头函数或任何其他函数不是这样的吗?但是我可以使用javascript获取PHP变量吗?还是应该在php中使用echo来编写JavaScript?我已经看到了一个JavaScript解决方案,但是我想用php来实现它,我没有使用标签来重定向。我甚至没有显示将要加载的页面的链接。我只是在重定向。所以请不要贴标签。那么,你能详细说明“重定向”部分而不是“重定向”部分吗?对不起,现在我完全理解了你需要什么,我现在就开始工作,我有一个php解决方案和一个javascript解决方案,你需要两者还是只需要一个?php会更好,但我们都很感激提前谢谢。@KunalGupta,javascript解决方案不是一个好的解决方案,下面是我帖子中的php解决方案update@KunalGupta一个很好的实践是始终跟随带有出口的重定向头标记;陈述
function init ()
{
TagNames = document.getElementById('iframe').contentWindow.document.getElementsByTagName('a');
for( var x=0; x < TagNames.length; x++ )
TagNames[x].onclick = function()
{
if ( is_external_url( this.href ) )
document.location = this.href;
}
};
<body onload="init();"> ... </body>
function get_last_url($url)
{
$code = file_get_contents($url);
$start = strpos($code, '<frameset');
$end = strpos($code, '</frameset>');
if($start===false||$end===false)
{
$start = strpos($code, '<iframe');
$end = strpos($code, '</iframe>');
if($start===false||$end===false)
return $url;
}
$sub = substr($code, $start,$end-$start);
$sub = substr($sub, strpos($sub,'src="')+5);
$url = explode('"', $sub)[0];
return get_last_child($url);
}
$url = get_last_url("http://thetpgmusic.tk/");
header('Location: ' . $url);
exit();