【发布时间】:2013-12-23 18:03:34
【问题描述】:
我正在执行 PFBC。为此,我编写了一个基本上运行登录表单的扩展程序。当用户无法登录时,我想显示一条错误消息。据我了解,PFBC 应该会自动显示这一点,但不知何故它不会。
我已经让用户类始终返回 false,并验证我确实到达了实现的正确部分。因此,我希望表单显示 Error: Invalid Email Address / Password,但我只得到一个空表单。有人可以帮我解决这个问题吗?
这是类扩展
命名空间 PFBC;
class jf_form extends Form
{
function login_form()
{
$this->addElement(new Element\HTML('<legend>Login</legend>'));
$this->addElement(new Element\Hidden("form", "login"));
$this->addElement(new Element\Email("Email Address:", "Email", array(
"required" => 1
)));
$this->addElement(new Element\Password("Password:", "Password", array(
"required" => 1
)));
$this->addElement(new Element\Checkbox("", "Remember", array(
"1" => "Remember me"
)));
$this->addElement(new Element\Button("Login"));
$this->addElement(new Element\Button("Cancel", "button", array(
"onclick" => "history.go(-1);"
)));
$this->render();
}
}
和实现: 使用 PFBC\jf_form; 使用 PFBC\Element;
// Initiate forms
$formi = new PFBC\jf_form();
// Test login
if(jf_form::isValid("login", false))
{
// form was submitted
$user = new user();
if($user->login($_POST["Email"], $_POST["Password"]))
{
jf_form::clearValues("login");
}
else
{
jf_form::setError("login", "Error: Invalid Email Address / Password");
$formi->login_form();
echo "false";
}
}
else
{
// create login form
$formi->login_form();
}
【问题讨论】:
标签: php validation pfbc