2011-10-24 6 views
0

現在、私はソーシャルネットワーキングウェブサイトに取り組んでいます。私は、ユーザが別のユーザのウェブアドレスを入力して彼のプロフィールにリダイレクトできるようにしたいと考えています。つまり、既存のすべてのユーザーには、mySQL DataBaseの列があり、使用するページテンプレートとこのテンプレートに入力するデータを指定します。可能であれば、入力例:http://www.emuze.co/users/@bob_marly(後に.PHP/.HTML接尾辞を付けることができます)では、Webサイトはデータベースにクエリを出し、テンプレートを見つけてそのテンプレートページ(例:http://www.emuze.co/temps/temp1.0.php)にリダイレクトします。 mySQLデータベースのユーザーを使用しますか? 私はその非常に長くて複雑な質問を知っていますが、私は本当に助けに感謝します! ありがとう!私は右のあなたの質問を理解している場合ウェブアドレスPHPリダイレクト

+0

ターゲットサイトにリダイレクトするだけの理由はありますか?本当の意味では、私は意味します。表示する以外のものを表示することで内部的にリダイレクトを処理するのではなく、ユーザーをターゲットページに転送するだけです。 HTTP Locationヘッダーまたはメタタグを使用することができます。 (これが意味をなさないのであれば、私はあなたの質問を全くしなかったかもしれません) –

+0

"ソーシャルネットワーキングウェブサイトで働く"とは、それを書くこと、または既存のものを使用することを意味します。これが制御可能なサーバーであれば、答えはAjaxを使用してデータベースを照会するバックエンド・プロセスと通信することです。そうでなければ、施設がサーバーによって提供されていない限り、それを行うことはできません。 –

+0

いいえ私はゼロから私自身のものを作っています –

答えて

0

各ユーザーにどのテンプレートが使用されているかを指定する表の中で、列の代わりに行を各ユーザーに与える必要があります。

たとえば、「ユーザーID」、「ユーザー名」および「テンプレート」の列を持つ「テンプレート」表があります。テーブルは次のようになります。

+--------+----------+----------+ 
| UserID | Username | Template | 
+--------+----------+----------+ 
|  1 | John  | temp1.0 | 
|  2 | Paul  | temp1.1 | 
|  3 | Eric  | temp1.0 | 
|  4 | Frank | temp1.2 | 
+--------+----------+----------+ 

...などです。

次に、ユーザーが持つテンプレートをクエリする必要があります。「temp1.0」を発生します

$query = "SELECT * FROM templates WHERE UserID=3"; 
$result = $link->query($query); 
$row = $result->fetch_assoc(); 

$行[「テンプレート」]:たとえば、ユーザID「3」はMySQLの接続リソースは、変数$リンクに保存されていると仮定すると、使用をユーザーにどのテンプレート知っています特定のPHPファイルなどを含む特定のCSSスタイルシートを含めるために使用できますが、$ row ['Username']のような他のすべてのユーザ固有情報も取得できます。リダイレクトの必要はありません。

+0

しかし、私がやりたかったことはちょうどあなたが書いたものと同じですが、ランダムなゲストがユーザーのURLにアクセスできるようにしたいこのページは実際には存在しません(ユーザー名のページは存在しません。アドレスを変数に変換するスクリプトのみが存在します。それを使用してデータベースに照会し、次にデータベースからのデータを使用していくつかのアクションを実行します)。それも可能ですか?そうでない場合は、どうやってそれをすることをお勧めしますか? –

+0

あなたが探しているのは、静的に見えるURLから$ _GET変数を取得するために、.htaccess URLの書き換え(mod_rewrite)ですか?そうすればwww.emuze.co/temp.php?user=bob_marlyをwww.emuze.co/users/@bob_marlyのように使用して、$ _GET ['user']変数http:// www .workingwith.me.uk/articles/scripting/mod_rewrite – carlo

0

@、あなたはこのことを意味:

をので、ユーザーAがユーザーBの ユーザーAは、テンプレートT_Aを持っているから、サイトを見たい、ユーザBは、テンプレートT_Bを持っています。 ユーザAはwww.emuze.co/users/Bに行き、テンプレートT_Aを使用してそれを監視します。

これが正しい場合は、次のようにします。 データベースからユーザーBのデータを読み込みます。 watchingsユーザープロフィールを読み込み、彼が使用しているテンプレートをチェックし、テンプレート(このキャストT_Aでは)とユーザーのデータ(B)を使用してサイトをレンダリングします。

非常に簡単な例:

ユーザデータベース:

|Name | Information  | Template 
_______________________________________ 
|A  |I'm user A   | T_A 
|B  |I'm user B   | T_B 

テンプレート: T_A:

"Hey, I am %NAME%, Some Infos about me: %INFORMATION%" 

T_B:

"Name: $NAME", Information: %INFORMATION" 

Aを見たいユーザー

Get user B's values from db 
Get user A's Template 
replace `%NAME%` and `%INFORMATION%` 
print it 

UPDATE:私は何が必要だと思う

は(IISを使用書き換えルールの下でのApacheの下で、)いくつかのmod_rewriteで、ウィッヒマップhttp://example.com/users/index.php?user=bob_marleyからhttp://example.com/users/bob_marleyユーザBで。これを使うと、いつでもそのサイトにアクセスでき、そこで何でもできます。

ユーザーごとに実際の既存のファイルを使用するのではなく、このようなparamsを取得するファイルを使用してください。テンプレートシステムを使用すると、ユーザーをリダイレクトすることなくどこでもテンプルをエコーすることができます。

+0

しかし、私がやりたかったことはちょうどあなたが書いたもののようですが、ランダムなGUESTがユーザのURLに行き、次にこれが自動的にデータベースに問い合わせるようにしたいそのようなページは実際には存在しませんが(ユーザー名を持つページは存在しません。アドレスを変数に変換してデータベースに照会するスクリプトのみが存在します)データベースからのデータを使用していくつかのアクションを実行します)。それも可能ですか?そうでない場合は、どうやってそれをすることをお勧めしますか? –

+0

そして、私の質問に答えてくれてありがとう:D –

+0

とmod rewriteはどのように動作しますか? –