我正在构建一个功能,使用户在继续从事某项工作之前必须先同意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进行操作,但现在没有收到错误,但它不会重定向,它停留在同一页面上。
答案 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>';
感谢所有花时间回答的人。