1

PHPでメンバープロファイルを作成するための最良の方法は何ですか?たとえば、一部のWebサイトはアドレスバーを読み取ります:profile.php?id = 11233次にprofile.php?id=13563。これは実際にどのように行われますか?今のところ、そのようなタイプのURLをMySQLに保存していますが、実際のコードはどこに記述しますか?profile.phpにコードを書く必要がありますか?または、IDごとに個別のファイルを作成する必要がありますか?それはどのように機能しますか?

4

2 に答える 2

5

profile.phpにコードを書く必要がありますか?

はい。訪問者が訪問し、URLにまたはのような値を持つprofile.php名前付きのデフォルトの変数セットがあります。次に、そのIDを持つユーザーをデータベースに照会し、適切な情報を表示できます。 $_GET['id']1123313563


のように複数の変数がある場合はprofile.php?id=123&type=cake、次の2つの変数があります$_GET['id'] = 123, $_GET['type'] = 'cake'$_GETGETはページへのアクセスに使用されるメソッドであるため、に保存されます。詳細については、 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 に答える