Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP重定向,但在父帧中_Php_Mysql_Sql_Redirect_Frame - Fatal编程技术网

PHP重定向,但在父帧中

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中,

我有一个使用简单php脚本和MySQL的小时间url缩短器。 它所做的是获取id并与SQL数据库中的id匹配,然后使用header将其重定向到数据库中找到的指定链接

但是如果我有一个框架集,源代码是http://thetpg.tk 重定向链接加载在帧内,而不是父窗口

例如,查看源代码的页面

其中帧源为 进一步重定向到 . 我希望1加载3作为父级,但只需更改2中的函数即可。 有这样的函数吗

头部位置:http://thepirategamer.tk/music.php","家长",; 在php中,还是有其他方法来实现它

注意:我无法在2中更改任何内容


提前谢谢!:

有一些树解决方案可以帮助您做到这一点:

第一个解决方案: 如果您使用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();