如何在PHP中创建成员'配置文件'?

时间:2010-07-15 22:57:52

标签: php user-accounts

在PHP中创建成员配置文件的最佳方法是什么?例如,某些网站在地址栏中读取:profile.php?id = 11233,然后是profile.php?id = 13563。这实际上是怎么做到的?截至目前,我正在MySQL中保存这类URL,但是我在哪里编写实际代码?我是否必须在profile.php中编写代码?或者我是否必须为每个ID制作单独的文件?它是如何工作的?

2 个答案:

答案 0 :(得分:5)

  

我是否必须编写代码   profile.php?

是。访问者将访问profile.php,并且会有一个名为$_GET['id']的默认变量集,其值包含在网址中,例如1123313563。然后,您可以向具有该ID的用户查询数据库并显示正确的信息。

<小时/> 如果有多个变量,例如profile.php?id=123&type=cake,那么您将有两个变量:$_GET['id'] = 123, $_GET['type'] = 'cake'。它存储在$_GET中,因为GET是用于访问页面的方法。在http://php.net/get了解详情
还有另一种常用方法,称为POST。使用method=POST提交表单时使用此选项。在这种情况下,信息将存储在$_POST数组中。

答案 1 :(得分:2)

是的,在这些示例URL中,数据库ID将作为参数发送,该参数将由PHP解析。

基本步骤是

  • 获取数据库ID(在这种情况下,来自所谓的$ _GET超全局)。使用intval()或(int)
  • 确保它是一个整数
  • 设置数据库连接(我使用PDO
  • 构建查询,例如select * from profile where id=?
  • 执行SQL查询
  • 检查结果
  • 如果您的结果有效,请在个人资料中打印出信息

当然,如何处理这些步骤的细节是问题的关键。我相信这里的人们非常乐意回答有关如何连接和设置数据库的问题,并在PHP中使用结果。

一个简单的示例数据库将设置类似

CREATE TABLE profile(
   id int NOT NULL AUTO_INCREMENT,
   user_name varchar(32),
   bio varchar(1024),
   favorite_flavor enum('chocolate','vanilla','fruity'),
   image_id int default null,
   primary key(id)
   );