p4a アプリケーションのユーザーをアプリケーションのダッシュボード ビューにリダイレクトしようとしていますが、ログインに成功した後、「main_dashboard_mask」へのリダイレクトで「Method openmask not found login_mask.php line 35」というエラーが表示されます。
class login_mask extends P4A_Base_Mask
{
public function __construct()
{
parent::__construct();
$this->setTitle("Login to Dashboard");
$this->build("p4a_field", "username");
$this->build("p4a_field", "password");
$this->build("p4a_button", "login")
->implement("onclick", $this, "login");
$this->frame
->anchor($this->username)
->anchor($this->password)
->anchor($this->login);
}
public function login()
{
$username = $this->username->getNewValue();
$password = $this->password->getNewValue();
$sql = "SELECT * FROM users
WHERE
username = ?";
$row = p4a_db::singleton()->fetchRow($sql, array($username));
if (($row['username'] == $username) && ($row['password'] == $password )){
$this->openMask("main_dashboard_mask");}
else {
$this->setTitle("Login Failed");}
}
}
それがインデックスファイルなのか、ここで見逃したものなのかわかりません。わかりました。もう一度やり直しました。ページのどこに関数を配置しても、エラーがどこにあるかに関係なく、問題を見つけることができないようです。問題が発生し続けている場合、問題は以前のページの 1 つにあると思われます。
<?php
define ("P4A_DSN", "mysql://root:@localhost/login" );
require_once dirname(__FILE__) . '/../../p4a.php';
$login = p4a::singleton('login_begin');
$login->main();
...
<?php
class login_begin extends P4A
{
public function __construct()
{
parent:: __construct();
$this->openMask("login_mask");
}
}
どんな助けでも大歓迎です。