使用 php 链接到另一个 html 页面时访问被拒绝
Posted
技术标签:
【中文标题】使用 php 链接到另一个 html 页面时访问被拒绝【英文标题】:Access Denied When using php to link to another html page 【发布时间】:2019-01-17 14:01:42 【问题描述】:所以在我网站的主页中,登录链接将用户带到任一
-
登录页面
用户页面(如果他们已经登录)
在完全实施之前,我决定检查我是否可以获得一个简单的 php 链接来工作,我很高兴我做到了,因为它不起作用。
我目前有:
<a href="<?php echo 'login.html';?>">Login</a>
单击时应该转到 login.html,但是单击链接时会得到this 来自 XAMPP 的 appache error.log 的对应错误日志:
[Thu Aug 09 21:51:30.257273 2018] [core:error] [pid 37376:tid 1948] (20024)给定的路径格式错误或包含无效字符:[client ::1:49721] AH00127: 不能将 GET /poll/%3C?php%20echo%20%27login.html%27;?%3E HTTP/1.1 映射到文件,引用者:http://localhost/poll/Poll_home.html
如果我放的不是上面的代码
<a href="login.html">Login</a>
然后它工作正常并将我链接到登录页面。 任何帮助都会很棒!
编辑:
通过创建一个新的 php 文件 (test.php) 解决了问题。
<a href="test.php">Login</a>
但是当我尝试通过将 test.php 更改为这样来使链接动态化时:
<?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 尚未启用或您正在 html 文件中编写 php 代码。 我有一个 connect.php 用于连接到 mysql 数据库并且工作正常,所以我认为这不是问题吗?也是的,我正在写一个 html 文件。这是一个问题吗?我觉得如果我把 你的意思是你在一个扩展名为.html
的文件中编写php代码?
是的。 html中唯一的php代码就是那个echo。
在您的登录页面...您是否在成功登录后创建会话变量?
【参考方案1】:
如果不使用 php,请使用此
<a href="<?='login.html';?>">login</a>
或者使用这个
<a href="login.html">Login</a>
【讨论】:
第一个不行。我犯了同样的错误。至于第二个,是的,但我需要稍后扩展它(我在帖子开头提到过)以使链接成为 login.html 或 user.html,这就是我 nedd php 部分的原因。 我该怎么做?我是新手,所以我不太了解哈哈。 你设置xampp没问题?? 是的,据我所知,它应该自动允许 php【参考方案2】:根据错误信息
无法映射 GET /poll/%3C?php%20echo%20%27login.html%27;?%3E HTTP/1.1 提交,推荐人:http://localhost/poll/Poll_home.html
它说你在 Poll_home.html 文件中编写 PHP 代码,这是问题所在,你应该在 php 文件(即 Poll_home.php)中编写 PHP 代码。当服务器看到 url 文件是 html 时,它不会执行它,而是将其内容发送到用户浏览器。所以重命名你的文件并检查。它应该可以工作。
【讨论】:
但我见过有人用 标签在 html 中编写 php? 如果您在html文件中编写php代码,那么服务器将其视为普通文本作为html的一部分,您可以通过查看文件的源代码来验证它,只需右键单击并选择查看源,您可以看到你的php代码。 所以我将 php 写在一个新文件 (test.php) 中,它似乎确实有效。 登录。但是当我尝试扩展它并实现最初的目标时遇到了一个新问题(请参阅编辑后的帖子)。 如果这回答了您的原始问题,您应该将其标记为已接受的答案。如果您有新问题,您应该在新帖子中提出新问题,而不是将其附加到已回答的问题中以上是关于使用 php 链接到另一个 html 页面时访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP,如何链接页面并在单击时使用变量加载它? [复制]
使用 jQuery Ajax 将数据发布到另一个 php 文件 [重复]