2010-12-31 20 views
0

ユーザーのダッシュボードとログインとプロファイルに基づいてWebサイトを開発しています。プロフィールとユーザーに問題があります。基本的なヘルプ - ユーザーの管理

誰かがtwitter.com/usernameのような特別なドメインをTwitterやQuoraがどのように各ユーザに割り当てるかを私に説明できますか?

彼らは即座にそれをしますか?手作業のようにする方法はわかっていますが、どうやって即座にやっていますか?私はそれが愚かな質問であることを知っていますが、あなたが助けることができればうれしいでしょう。

ありがとうございました

答えて

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を使用している場合、あなたは

+0

私はPHPを使用しています。私はそのアイデアが本当に好きです。 domain.com/profile.php?username=stuffをどうすればいいのか教えてください。次にgetメソッドを使用しますか?ドメインでユーザー名を取得するにはどうすればよいですか? – sarthak

+0

私の更新された回答を参照してください。このプロセスを簡単にするためにcodeigniterのようなフレームワークを使うことをお勧めします。 – sethvargo

+0

私は感謝の気持ちを持っています....しかし、なぜ安全でないと言われていますか?私のコードの大半はそういう意味ですか? – sarthak

0

Apache's mod_rewriteをチェックアウトするURLを書き換えるための.htaccessを使用することができ、彼らがやっていることは、私はあなたを考えるfinduser.php?user=<username>

のようなスクリプトにリダイレクト/<username>パターンのためのチェックです手動でディレクトリを設定することを意味しますが、そうではありません。

関連する問題