下記のユーザー定義関数内の$fileを別ファイルの$smarty->display($file)により出力しています。もしかしてPHPのバージョンの問題なのかなと思っているのですが、、、ちなみに当方の環境はPHP Version 4.3.10です
~中略~
function login_screen($option){
$form = $option['form'];
$smarty = $option['smarty'];
//$systemflg= $option['systemflg'];
$file = 'login.tpl';
$smarty->assign('title', 'タイトル名');
$form->addElement('text', 'username', 'ユーザー名', array('size' => 15, 'maxlength' => 50));
$form->addElement('password', 'password', 'パスワード', array('size' => 15, 'maxlength' => 50));
$form->addElement('submit','submit','ログイン');
return $file;
}
~中略~
function login_screen() の外 OR 前で
$option['smarty'] = new Smarty;
とでもされているでしょうか?$optionの内容が気になります。
変数のスコープがちぐはぐな感じがしないでもないです。