phpサンプルの一部です。 これはどのような流れで表示されているのでしょう。

function member_top($option){
$form = $option['form'];
$smarty = $option['smarty'];
$renderer = $option['renderer'];
$conn = $option['conn'];
$auth = $option['auth'];
$systemflg= $option['systemflg'];

if($systemflg){
$file = 'system_top.tpl';
$smarty->assign('title', '管理トップ画面');

unset($_SESSION['search_key']);
unset($_SESSION['userdata']);
unset($_SESSION['pageID']);

}else{
$file = 'member_top.tpl';
if(empty($_SESSION['userdata']['id'])){
$_SESSION['userdata'] = db_get_member_data($conn, $auth->username, $auth->password);
}

$smarty->assign('title', '会員トップ画面');
$smarty->assign('last_name', $_SESSION['userdata']['last_name']);
$smarty->assign('first_name', $_SESSION['userdata']['first_name']);

}

return $file;
}

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2006/05/19 04:36:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数75

ポイント60pt

まず、1行目を見てください。

member_topという関数は$optionという引数を取ります。

2行目以降、$option配列の内容を変数に代入します。

環境設定を行っています。

if($systemflg){

この部分で$systemflgの値がある場合とない場合で処理を分けています。

$systemflgに値がある場合、if($systemflg)がtrueを返しますので、その後の処理が行われます。

ここで管理者用の画面のテンプレートファイル(system_top.tpl)を読み込み、画面のタイトルを設定し、セッションの内容を初期化しています。

$systemflgが空の場合、メンバー用のテンプレートファイル(member_top.tpl)を読み込みます。

その後、$_SESSION配列に格納されたuserdataのidが空の場合、DBに接続し、$_SESSION配列にuserdataを設定します。

(以下の3行がその部分に該当します。)

if(empty($_SESSION['userdata']['id'])){
$_SESSION['userdata'] = db_get_member_data($conn, $auth->username, $auth->password);
}

その後、メンバー画面のタイトルを設定し、さらに$_SESSION配列に含まれるuserdataのlast_name、first_nameを同名のテンプレートに割り当てます。

(member_top.tpl中にlast_name、first_nameという部分があり、そこの値が置き換えられます。)

参考になれば幸いです。

[参考URL]

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません