使用 php 到 link 到另一个 html 页面时访问被拒绝
Access Denied When using php to link to another html page
我是 php/html 的新手,请多多包涵。
所以在我网站的主页上,登录 link 会将用户带到
- 登录页面
- 用户页面(如果他们已经登录)
在完全实施之前,我决定检查我是否可以让一个简单的 php link 工作,我很高兴我做到了,因为它不起作用。
我目前有:
<a href="<?php echo 'login.html';?>">Login</a>
单击时应该转到 login.html,但是当您单击 link 时,您会得到 this
来自 XAMPP 的 appache error.log:
的相应错误日志
[Thu Aug 09 21:51:30.257273 2018] [core:error] [pid 37376:tid 1948] (20024)The given path is misformatted or contained invalid characters: [client ::1:49721] AH00127: Cannot map GET /poll/%3C?php%20echo%20%27login.html%27;?%3E HTTP/1.1 to file, referer: http://localhost/poll/Poll_home.html
如果我输入
而不是上面的代码
<a href="login.html">Login</a>
然后它工作正常,link让我进入登录页面。
任何帮助都会很棒!
编辑:
问题已通过创建新的 php 文件 (test.php) 解决。
<a href="test.php">Login</a>
但是当我尝试通过将 test.php 更改为以下内容来使 link 动态化时:
<?php
if(session_status() == PHP_SESSION_NONE){ //if already logged on
header("Location: login.html");
}
else{ //If not
header("Location: sign-up.html");
}
exit;
?>
它总是转到 login.html 即使我没有登录。
如果不能使用 php 使用这个
<a href="<?='login.html';?>">login</a>
或使用这个
<a href="login.html">Login</a>
根据错误消息
Cannot map GET /poll/%3C?php%20echo%20%27login.html%27;?%3E HTTP/1.1
to file, referer: http://localhost/poll/Poll_home.html
它说你正在Poll_home.html文件中编写PHP代码,这是问题所在,你应该在php文件中编写PHP代码(即Poll_home.php).当服务器看到 url 文件是 html 时,它不会执行它,而是将它的内容发送到用户浏览器。所以重命名你的文件并检查。应该可以。
我是 php/html 的新手,请多多包涵。
所以在我网站的主页上,登录 link 会将用户带到
- 登录页面
- 用户页面(如果他们已经登录)
在完全实施之前,我决定检查我是否可以让一个简单的 php link 工作,我很高兴我做到了,因为它不起作用。
我目前有:
<a href="<?php echo 'login.html';?>">Login</a>
单击时应该转到 login.html,但是当您单击 link 时,您会得到 this 来自 XAMPP 的 appache error.log:
的相应错误日志[Thu Aug 09 21:51:30.257273 2018] [core:error] [pid 37376:tid 1948] (20024)The given path is misformatted or contained invalid characters: [client ::1:49721] AH00127: Cannot map GET /poll/%3C?php%20echo%20%27login.html%27;?%3E HTTP/1.1 to file, referer: http://localhost/poll/Poll_home.html
如果我输入
而不是上面的代码<a href="login.html">Login</a>
然后它工作正常,link让我进入登录页面。 任何帮助都会很棒!
编辑:
问题已通过创建新的 php 文件 (test.php) 解决。
<a href="test.php">Login</a>
但是当我尝试通过将 test.php 更改为以下内容来使 link 动态化时:
<?php
if(session_status() == PHP_SESSION_NONE){ //if already logged on
header("Location: login.html");
}
else{ //If not
header("Location: sign-up.html");
}
exit;
?>
它总是转到 login.html 即使我没有登录。
如果不能使用 php 使用这个
<a href="<?='login.html';?>">login</a>
或使用这个
<a href="login.html">Login</a>
根据错误消息
Cannot map GET /poll/%3C?php%20echo%20%27login.html%27;?%3E HTTP/1.1 to file, referer: http://localhost/poll/Poll_home.html
它说你正在Poll_home.html文件中编写PHP代码,这是问题所在,你应该在php文件中编写PHP代码(即Poll_home.php).当服务器看到 url 文件是 html 时,它不会执行它,而是将它的内容发送到用户浏览器。所以重命名你的文件并检查。应该可以。