如何将php数据传输到html文件


How to transfer php data to html file?

登录用户后,我想有一个单独的html页面(首页),上面写着"欢迎,(用户)"。我试过使用cookie,现在我知道这行不通了。那么我该怎么做呢?

这是我的代码(在我的sigin脚本中):

header('Location: frontpage.html');

在frontpage.html中,我想使用sigin脚本中的一些数据。

这由$_SESSION数组控制。当你的用户登录时,你应该将一些$_SESSION变量设置为你想要的任何值(比如,一个变量会让你知道用户已经登录,另一个变量带有他们的用户名,还有一个带有他们的权限,等等)

然后只需将带有相关用户名的$_SESSION变量回显给用户:

echo 'Welcome, ' . $_SESSION['username'] . '.';

PHP手册提供了大量关于会话的信息:http://il2.php.net/manual/en/intro.session.php

我不会使用cookie来保存用户凭据,因为这可能会通过注入脚本或有害网站从浏览器中删除。查看PHP会话以实现用户登录。

就向客户端浏览器提供html而言,这是非常容易的。您可以用PHP加载html页面,并将其回显到浏览器。由于PHP是一种服务器端语言,因此该脚本输出是在发送到客户端之前生成的。html将被呈现到浏览器DOM中,您就完成了。

但我建议使用像CodeIgniter这样的MVC框架,或者我已经创建了一个非常简单、不臃肿的MVC,称为PHPBlueprint,它可以工作(并且非常容易配置)。这将允许您在编码逻辑之间进行灵活性和抽象。

更新

这将是myPage.php

<?php
    $myVar = 3;
    echo "<html>
          <head>
              <title>My Page</title>
          </head>
          <body>
              $myVar
          </body>
          </html>";
?>

或者你可以做:

<html>
<head>
    <title>My Page</title>
</head>
<body>
    <?php
        $myVar = 3;
        echo $myVar;
    ?>
</body>
</html>

无论选择哪种方式,脚本都将在服务器上运行,然后将数据发送到客户端浏览器,如下所示:

<html>
<head>
    <title>My Page</title>
</head>
<body>
   3
</body>
</html>

HTML将被呈现到DOM中,页面看起来应该显示:

3

PHP非常值得花时间学习,MVC也是如此,因为它为快速开发提供了优秀的OOP和可扩展的解决方案。看看PHPBlueprint,因为这将简化所有这些,并且很容易进行逆向工程。

在代码中使用php echohttp://ca.php.net/manual/en/function.echo.php

但如果您想让它按您所说的那样工作,请使用模板引擎。我建议Smarty