ユーザーが存在するかどうかを確認し、検証も行うメソッドを作成しようとしています。
これまでのコードは次のとおりです。
public function checkUsername(){
if((strlen($_POST['register-username']) > 2) && (strlen($_POST['register-username']) < 16)){
$stmt = $this->dbh->prepare("SELECT username FROM adrenaline_junkies_uk_users WHERE username = ?");
$stmt->bindParam(1, $this->post_data['register_username'], PDO::PARAM_STR);
$stmt->execute();
if($stmt->rowCount() != 0){
return TRUE;
}else{
return $this->error .= '<span style="color:red;">Username already exists.</span>';
}
}else{
return $this->error .= '<span style="color:red;">Username must be between 3 and 15 characters.</span>';
}
}
これは、私がそれを呼び出そうとする方法です:
if( isset($_POST['register-submit'])){
$error = '';
$register = new register($_POST, $dbh);
if(!$error .= $register->checkUsername()){
//continue
}else{
$error .= $register->checkUsername();
}
}
それをテストするために、最初のエラーが返されるように入力フィールドに何も入力せず、Web ページに正しくエコーアウトします。しかし、何も表示されていません。
これはこれを行う正しい方法ですか?申し訳ありませんが、クラスでメソッドを使用することにあまり慣れていません。呼び出しプログラムの最初のステートメントで何か間違ったことをしているif
と思いますが、そのメソッドを2回実行する必要がありますか?