我有一个使用PHP和HTML页面的网站,我想创建一个存储登录页面用户名的会话。但登录页面是php,接下来的页面是html。
这是一个问题还是我可以在html页面中添加一个小的php语句
<?PHP session_start();
$_session['loginid']=$_post['username'];
?>
或者我做错了吗?
这是我第一次使用会话,他们让我感到困惑。
感谢您的帮助。
答案 0 :(得分:9)
如果您可以访问您的apache配置或简单的.htaccess文件,您可以告诉Apache处理.html文件中的PHP代码。您可以通过在站点的文档根目录(可能是public_html /)上创建 .htaccess 文件(记住。(点)作为该文件名中的第一个字符)并将其放入其中来完成此操作:
# Add this to public_html/.htaccess file
AddHandler application/x-httpd-php .html
AddHandler application/x-httpd-php .htm
你应该可以重新加载html页面,你的PHP代码(来自Michael Matthews的答案)将运行得很好。
答案 1 :(得分:5)
您正在尝试与text / html类型的页面共享PHP会话变量。正如您所建议的那样,您必须使HTML页面成为可以工作的PHP页面,并在某处添加一小段PHP来显示用户名。
将您的HTML页面更改为PHP。在页面顶部添加如下内容:
<?php
session_start(); // must be before any output
$username = $_SESSION['username']; // or whatever you called it
// check that $username is valid here (safe to display)
?>
html here
Hello <?= $username ?>!
答案 2 :(得分:3)
由于会话由PHP处理,因此需要PHP来维护状态。您至少需要session_start()
才能使用$_SESSION
中存储的会话变量。
答案 3 :(得分:1)
如果不使用服务器的配置文件,就不能将php放入.html文件中。你应该只将php放入.php文件。
如果你有很多.html文件,你可以简单地将它们重命名为.php文件。将纯html放入something.php
是可以的。因此,您应该确保所有文件都以.php结尾,然后您可以将所需的任何会话逻辑放入其中。