各ユーザーの記事が閲覧できるブログシステム
(複数人の)ユーザーが記事を投稿し、各ユーザーのURLでそのユーザーの記事が閲覧できるブログシステムを考えております。
しかし、各ユーザのURLにアクセスしたとき、そのユーザーのデータをどのような方法で取得すれば良いのかわからず質問させていただきました。
以下、詳細となります。
※MYSQLデータベーステーブル
・user_table
id 名前
10 山田
11 鈴木
12 伊藤
・,article_table
id user_id url text
1 10 yamada 山田です。
2 11 suzuki 鈴木です。
3 12 itou 伊藤です。
※流れ
1,各ユーザーは管理画面にログイン
2,記事投稿ページで本文を入力し、投稿ボタンを押すとarticle_tableにデータが格納される。
3,domain.com/○○○(〇に入るのはyamadaなど、各ユーザーのurl)
にアクセスすると、そのユーザーが投稿したarticle_tableのtextが表示される。)
※質問内容
domain.com/〇〇〇に、そのユーザーが投稿したtextを表示されるには、
<?php
$st=$db->prepare("select * from article_table where user_id=:user_id");
$st->execute(array(":user_id"=>$user_id));
$data=$st->fetch();
echo $data["text"];
、、、、
?>
といったように、$user_idによってそのユーザーのデータを引っ張ってくるかと思いますが、このとき$user_idの値はどのように得る方法が一般的なのでしょうか?
・方法(1)
URLをdomain.com/〇〇〇?user_id=△△△として$_GETで取得すれば可能ですが、
一般的なアメブロなどのブログシステムでは、そのような変数はURLについていないかと思います。
・方法(2)
あらかじめユーザーごとのフォルダにuser_id.txtのようなファイルを用意し、そこに書かれているidを読み込んでいるのでしょうか?
・方法(3)
管理画面からユーザーが記事を投稿した時に、$user_idをファイルに埋め込んだ動的なphpファイルを生成して保存しているのでしょうか?
<?php
$user_id=10;
$st=$db->prepare("select * from article_table where user_id=:user_id");
$st->execute(array(":user_id"=>$user_id));
$data=$st->fetch();
echo $data["text"];
、、、、
?>
このソースごと含めてユーザーファイルを生成してしまう。
ただ、やり方が今のところわかっておりません。
・方法(4)
別のなんらかの方法
ご存知の方いらっしゃれば、ご回答いただければ幸いです。
尚、各ユーザーURLのページは、静的なページ(html)ではなく、動的なページ(php)となります。
よろしくお願い致します。