我试图将一个html页面重定向到两个不同的php文件。我创建的Html文件是redirect.html
。当我转到那个页面时,它会检查我是否登录了,如果没有,它会把我带到ucplogin.php
,如果我已经登录了,它会把我带到ucphome.php
。这里的问题是,我正在尝试的代码显然是一团糟,因为我已经尝试了一段时间,但仍然不能工作
<?php
session_start();
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://example.com">
<script type="text/javascript">
<?php
if(!isset($_SESSION['playername']))
{
?>
window.location.href = "http://localhost/working/ucplogin.php"
<?php
}
else
{
?>
window.location.href = "http://localhost/working/ucphome.php"
<?php
}
?>
</script>
<title>Page Redirection</title>
</head>
</html>
编辑:我已经看到了所有这些答案,并得到了一些要点,但我将代码重写为
<?php
session_start();
?>
<?php
if(!isset($_SESSION['playername']))
{
?>
header('Location: http://localhost/working/ucplogin.php');
<?php
}
else
{
?>
header('Location: http://localhost/working/ucphome.php');
<?php
}
?>
当我登录到redirect.php时,它会给出标题(‘Location:http://localhost/working/ucphome.php');当我登录时,它会给出标题;当我不是header('Location: http://localhost/working/ucplogin.php');
用户时,它会给出这个标题
表面上看,它可以工作,但从技术上讲,它不会将我重定向到确切的页面。
发布于 2015-09-09 22:21:06
我创建的
Html文件是redirect.html
您不能在普通的HTML文件中运行PHP代码,除非您指示Apache将HTML文件作为PHP运行(感谢@Fred -ii-指出这一点。另请参阅@Peyman.H答案以了解如何做到这一点)。php
扩展存在的原因是告诉服务器有需要处理的代码。将扩展名重命名为.php
,这样就很好了。
另外,如果用户禁用了JavaScript,该怎么办?使用PHP函数header()
进行重定向会更安全:
if(!isset($_SESSION['playername'])) {
header('Location: http://localhost/working/ucplogin.php');
} // etc...
发布于 2015-09-09 23:56:50
您还可以在文件中使用JavaScript代码,只需键入以下内容
<script>
window.location="redirect.php" ;
</script>
https://stackoverflow.com/questions/32489982
复制