在页面加载时重定向到另一个页面,但仅在进行检查之后

时间:2018-12-31 14:33:37

标签: javascript php

我正在构建一个功能,使用户在继续从事某项工作之前必须先同意HIPAA准则。如果他们已经同意该准则,则作业页面将照常加载,否则,应将其重定向到准则页面以首先达成共识。

我尝试了页面重定向,但这给了我404错误。我的程序(PHP)检查数据库中的字段;如果为1,则表示他们已经同意,作业页面应正常加载。如果为0,则应将其重定向到HIPAA页面。我正在调用检查数据库字段的函数:

<script type="text/javascript">
function hipaa() {
    var referringUrl = window.location.href;
    window.location.href = 'user/hipaa';
}
</script>

if ($result[0]->hipaa == 0) {
        $url = $_SERVER['PHP_SELF'];  // current page so user can return
        hipaa(); // EDIT: removed this line
        //Added these lines:
        $urlNew = '/user/guidelines';
        echo '<META HTTP-EQUIV-REFRESH CONTENT = "1; ' . $urlNew . '">';
    }

该函数被调用,但是window.location.href给我一个404错误。任何帮助将非常感激。我是JavaScript的初学者。

编辑:我更新了代码以尝试通过PHP进行操作,但现在没有收到错误,但它不会重定向,它停留在同一页面上。

2 个答案:

答案 0 :(得分:0)

您的META标签应如下所示。...

<?php

$urlNew = 'https://stackoverflow.com/questions/53988586/redirect-to-another-page-on-page-load-but-only-after-a-check-is-made';

echo '<meta http-equiv="refresh" content="1;URL=\'' . $urlNew . '\'" />'; 

?>

但是,如果您查看W3C标准,甚至可以追溯到(3.2)97之前的版本,它都指出重定向应该始终在“可能的情况下”在服务器端或通过给访问者一个可直接单击的链接来发出。

答案 1 :(得分:0)

我最终使用了JavaScript,并且在玩了一段时间之后,开始使用它了。我的代码是:

echo '<script type="text/javascript">window.location.href = "../guidelines";</script>';

感谢所有花时间回答的人。