0

PHPを使用して動的Webサイトを開発しています。Web サイトのユーザーがアカウントを作成すると、そのユーザーのプロファイル ページが作成されます。たとえば、「dev23」というユーザーが私の Web サイトでアカウントを作成すると、リンク www.mysite.com/dev23 から彼のプロファイルにアクセスできるはずです。

どうすればそのようなものを作成できますか?指定されたユーザー名に固有のデータが入力された userprofile.php のような標準ページを作成する必要がありますか? または、すべてのユーザーに対して永続的な Web ページを作成する必要がありますか?

この問題への正しいアプローチを教えてください。

4

2 に答える 2

1

www.mysite.com/dev23 は公開されることを意図していますか、それともログインしたユーザーにのみ表示されますか?

ログインしているユーザーにのみ表示される場合は、セッションからログインしているユーザーを取得し、それに応じてデータを取得する myprofile.php ファイルを作成できます。

他のユーザーがアクセスできる URL を意図している場合は、閲覧するユーザーを識別するためのデータが渡されたある種の userprofile.php ページが必要になるでしょう。たとえば、URL は www.mysite.com/userprofile.php?user=dev23 のようになります。Web サーバーに Apache を使用している場合は、mod_rewriteを使用して URL をよりきれいにすることができます。したがって、URL www.mysite.com/user/dev23 を userprofile.php?user=dev23 にルーティングすることができ、PHP は同じように処理します。これは、生のクエリ文字列よりも URL をより使いやすくする手段にすぎません。これは、WordPress、Joomla などの多くの PHP ベースの CMS システムで一般的です。

于 2013-02-28T03:19:30.870 に答える
1

理想的には、すべてのユーザーを処理する単一のファイルを作成する必要があります。

SkyPHPなどの特定のフレームワークでは、有効なページの後に属性を「クエリフォルダー」として定義することでこれを可能にします。これは GET/POST 変数と同じように使用できます。

フレームワークを使用していない場合は、フレームワークを使用してタスクを簡素化することを検討することをお勧めします。

SkyPHP には、ページを _table.field_name_ として定義するだけで、テーブル内の単一のフィールドを使用してこのデータを取得できる機能もあります。

データを取得する一致するテーブルとフィールドがあるかどうかを確認し、フィールドの値が URL の値と一致するレコードの ID を自動的に取得して変数に割り当てます。

例... カテゴリというテーブルと slug という名前のフィールドがある場合、次の名前のページを作成します。_category.slug_.php

次に、URL... http://mydomain.com/watchesは、category.slug で「 Watches 」を検索し$category_id、利用可能と同様にレコードの識別子を引き戻し$category_slugます。

試してみたいという気持ちがあれば、問題は解決します。

ここでもドキュメントを参照してください... http://switchbreak.com/skyphp

于 2013-02-28T03:22:30.440 に答える