-3

我注意到,当转到 facebook 上的个人资料页面时,它会将您定向到页面 www.facebook.com/profile.php?=id。我很好奇这到底是如何工作的。我想建立一个用户拥有不同个人资料的网站,我认为通过我的 profile.php 路由它会效果最好。但是,我不确定如何做到这一点。我想直接访问 profile.php,但我认为我的 html 和 css 不会被考虑在内。我知道您可以在同一个文件中使用 php 和 html,但是如何将 php 生成的内容定向到 html 中的正确 div?对不起,如果这个问题有点令人困惑。谢谢您的帮助!

4

3 回答 3

4

Web 应用程序将在数据库中包含用户配置文件记录,其中一列为其id. 当用户访问时www.facebook.com/profile.php?id=5,页面中的代码会在数据库中搜索 id 为 5 的配置文件,然后通过将此数据放入 html 中来显示该配置文件的信息:

<div><?= $someRecordVariable ?></div>
于 2012-04-16T15:57:13.030 回答
1

我相信它使用 MVC 框架。它将根据 URL 变量路由流量。

以下是有关如何创建的信息: http: //anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/

还有一些预构建的框架,如 larvel、cakePHP 和 codeigniter。你应该研究那些最适合你正在尝试做的事情。

干杯!

于 2012-04-16T15:55:35.103 回答
1

您需要某种不涉及将主 PHP 内联与 ​​HTML 混合的框架。就我个人而言,我喜欢自己做,因为我保持控制。

一个非常简单的例子是使用模板文件(例如 Profile-tpl.php),您在 php 的末尾包含它,它会根据 Profile-tpl.php 中的 HTML 和 CSS 回显您想要输出的任何内容。

    <HTML>
    ...
        <div>
            <?php echo (!empty($content)) ? $content : ''; ?>
        </div>
    ...
    </HTML>

我个人的编程风格是使用干净的 URL(例如 domain.com/p/12345 -> index.php?page=p&id=12345)通过 index.php 路由所有内容,根据查询加载模块(我已经确定 p加载配置文件),然后从模板文件加载适当的格式。

于 2012-04-16T16:10:43.653 回答