Facebook的profile.php?= id如何工作?

时间:2012-04-16 15:39:21

标签: php mysql html facebook

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

3 个答案:

答案 0 :(得分:4)

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

<div><?= $someRecordVariable ?></div>

答案 1 :(得分:1)

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

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

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

干杯!

答案 2 :(得分:1)

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

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

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

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