基本帮助 - 管理用户

时间:2010-12-31 19:18:50

标签: php html twitter

我正在开发一个基于用户仪表板和登录和个人资料的网站。我的个人资料和用户存在问题。

有人可以解释一下Twitter甚至Quora如何设法为每个用户分配一个特殊的域名,如twitter.com/username?

他们甚至立刻做到了吗?我知道如何手动执行此操作,但他们如何立即执行此操作?我知道这是一个愚蠢的问题,但如果你能提供帮助,我会很高兴。

谢谢

2 个答案:

答案 0 :(得分:1)

这不是域名。这是域名上的一条路径。他们将domain.com/stuff重写为控制器。在php中,您可以将其路由到domain.com/profile.php?username=stuff。然后,该页面查询数据库并使用必要的信息填充视图。

<?php
// sample profile.php
// NOTE - this is not secure - it's only to provide a general idea
// your code will vary - assuming a mysql connection already exists
// i'm ignoring a lot here - this is just a basic idea

$username = $_GET['username'];
$qry = mysql_query("SELECT * FROM profiles WHERE username = '".mysql_real_escape_string($username)."' LIMIT 1"); // to prevent injection

while($row = mysql_fetch_assoc($qry)){
  $profile = $row
}
?>

<html>
  ...

  <span><?php echo $profile['first_name']; ?></span>
  <!--- $profile[column_name] --->
</html>

如果您要创建包含个人资料和页面的网站,则不应为每个用户创建单独的个人资料页面 - 使用“模板”然后填写必要的值。如果是自定义页面,请在数据库中存储颜色和bg图像等内容。

这只是一个SQL查询,所以速度非常快。

如果您使用的是apache,则可以使用.htaccess重写URL

答案 1 :(得分:0)

结帐Apache's mod_rewrite,他们所做的就是检查重定向到/<username>等脚本的finduser.php?user=<username>模式

我认为你的意思是手动设置目录,但事实并非如此。