Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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函数中的iframe中_Php_Function_Iframe - Fatal编程技术网

测试页面是否位于PHP函数中的iframe中

测试页面是否位于PHP函数中的iframe中,php,function,iframe,Php,Function,Iframe,如何调用函数来测试用户是否在PHP函数中的iframe中?我知道测试这一点的唯一方法是使用Javascript,当我尝试使用echo“…”在PHP中将其作为JS函数传递时,它似乎不起作用 我想把它添加到检查用户是否被授权的函数中,因为我需要根据用户是否在iframe中引导他们进入不同的登录页面。这个函数在一个单独的文件中,因为它几乎在站点的每个页面上都被调用,所以我认为我不能直接用JS来实现 我正在尝试调用的JS函数 PHP函数 function is_user_logged(){ if

如何调用函数来测试用户是否在PHP函数中的iframe中?我知道测试这一点的唯一方法是使用Javascript,当我尝试使用echo“…”在PHP中将其作为JS函数传递时,它似乎不起作用

我想把它添加到检查用户是否被授权的函数中,因为我需要根据用户是否在iframe中引导他们进入不同的登录页面。这个函数在一个单独的文件中,因为它几乎在站点的每个页面上都被调用,所以我认为我不能直接用JS来实现

我正在尝试调用的JS函数

PHP函数

function is_user_logged(){
    if ( session_id() == ''){
        session_start();
    }
    if(!isset($_SESSION['SESS_USER_ID']) ) {
    $logged = "false";
    header("location: sign_in.html");
    exit();
    } else {
    $logged = "true";
    return $logged;
    }           
}
IsInFrame==真是您的问题。==这是一个严格的比较,真的!==true,因为一个是布尔值,而另一个是字符串

我只想扔掉它,或者使用IsInFrame:


另外,看看这个问题,可以找到一种更可靠的帧检测方法:

我不知道你在问什么。您无法通过PHP判断自己是否在一个框架中,因为PHP与框架无关。框架是客户端的东西,因此只有客户端技术才能解决这个问题。@deceze是否有其他方法可以将用户重定向到相应的页面?我首先想问iframe与授权有什么关系。@deceze-如果他们没有登录,就需要重定向到登录页面,有不同的页面,这取决于它们是否处于良好的捕获状态@Chaya你需要停止使用布尔作为字符串。这是真的,不是真的。感谢@deceze解释:-@Blender-现在就开始测试:-我没有任何运气使用你发布的带有“…”的函数;还有什么我应该做的吗?@ChayaCooper:这是你的问题。摆脱它。这很可能不是它的正确用例。
function is_user_logged(){
    if ( session_id() == ''){
        session_start();
    }
    if(!isset($_SESSION['SESS_USER_ID']) ) {
    $logged = "false";
    header("location: sign_in.html");
    exit();
    } else {
    $logged = "true";
    return $logged;
    }           
}
function test_iframe() {
    if (window.location != window.parent.location) {
       window.location.href = "sign_in_iframe.html";
    } else {
       window.location.href = "sign_in.html";
    }
}