因为缺乏背景,我无法解决你所有的问题。我看到的一个错误是,在您的代码中,这一行:
if (email_exists($email) === false) {
$errors[] = \'E-mail address is already in use.\';
}
必须是:
if(email_exists($email)){ etc.
因为您检查email\\u exists函数是否在其存在(翻译为true)或不存在时返回ID,这将给出false。你能为你剩下的问题提供更多的上下文(例如HTML格式的表单)吗?
编辑:你犯了同样的错误username_exists($username) === false 应该是if(username_exists($username)) 相反同样的逻辑也适用。
编辑:哦,实际上你犯的错误更多。还具有in_array( $username, $invalid_usernames ) === false 必须是:in_array( $username, $invalid_usernames ) 现在你正在检查与你想检查的完全相反的东西,我想。