1

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

4

2 回答 2

5

我必须在 profile.php 中编写代码吗?

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


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

于 2010-07-15T22:59:35.847 回答
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)
   );
于 2010-07-15T23:06:36.127 回答