このメソッドが 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;
}