【发布时间】:2013-09-20 21:19:59
【问题描述】:
我不明白为什么这个方法总是返回 false。我正在检查输入的密码的长度。绝对超过5个字符。输入字段的名称是正确的。但它总是抛出异常throw new Exception("Password must contain at least 6 characters.");。
方法:
public function checkPassword(){
if(strlen($this->post_data['register_password']) > 5){
}else{
throw new Exception("Password must contain at least 6 characters.");
}
}
来电:
if( isset($_POST['register-submit'])){
$error = '';
$register = new register($_POST, $dbh);
try {
if($register->checkUsername()){
if($register->checkPassword()){
}
}
} catch (Exception $e) {
$error .= '<span style="color:red;">' . $e->getMessage() . '</span>';
}
}
编辑:添加更多类
public $post_data = array();
private $dbh;
public function __construct($post_data, PDO $dbh){
$this->error = array();
$this->post_data = array_map('trim', $post_data);
$this->dbh = $dbh;
}
【问题讨论】:
-
你的函数是否抛出错误?
-
$this->post_data['register_password']中有什么内容? -
Erm... 如果密码长度相同,则您认为密码相同。所以“fish”和“j2o3”会被认为是一样的。
-
@crm:
var_dump( $this->post_data['register_password'] );输出什么? -
@Kolink 我认为这是用于注册目的。他只是在验证密码至少包含 6 个字符,以确保密码足够强大以创建帐户。
标签: php oop exception methods pdo