在.html文件中缺少PHP会话

时间:2013-06-19 08:30:31

标签: php html session webserver

我正在尝试将网上商店迁移到新的网络服务器。它在旧的Web服务器上运行得非常好,但是,当我尝试在Webshop(index.html)上登录时,它返回到主页,因为会话变量为空,所以没有登录。 然后我注意到,当我打开另一个名为request.php的站点时,会话变量已设置并且我已登录。 所以我尝试了几件事,我将index.html重命名为index.php,会话就在那里。

我现在的问题是:我是否可以在.html文件中获取会话(与以前的Web服务器一样)或者我是否必须重命名所有.html文件?

注意:index.html文件也包含php代码并被解析为php,只是会话变量为空。

提前感谢您的每一个答案!

4 个答案:

答案 0 :(得分:1)

如果您使用的是Apache服务器,请尝试将其添加到配置文件中。

AddType application/x-httpd-php .html

答案 1 :(得分:0)

您需要在Web服务器中设置处理程序,以将html个文件视为php个文件。

答案 2 :(得分:0)

这些文件需要重命名才能在其上加上.php扩展名,即使它们包含html也是如此。 只需在html启动之前包含您的PHP代码,如下所示:

<?php
 //code goes here
?>

<html>
  <body>
    //etc...

这样,您可以加载会话变量和您需要的任何其他PHP变量,然后也可以在html中访问它们。

如果你有几个页面需要相同的东西(会话变量),你可以将会话代码放入一个php文件,比如'session.php'。 然后,在您从html转换为php的每个页面的顶部,将此代码放在顶部:

<?php
  require_once("session.php");
?>

现在您的所有网页都可以访问相同的信息,这也有助于减少代码。

答案 3 :(得分:0)

AddType application/x-httpd-php .html

在你的.htaccess文件中可以完成这项工作,我仍然认为它非常不安全:)