$query = "SELECT username, email
FROM members
WHERE username = :username OR email = :email";
$stmt = $sql->prepare($query);
$stmt->execute(array(
':username' => $_POST['username'],
':email' => $email
));
$existing = $stmt->fetchObject();
if ($existing)
{
if ($existing->username == $_POST['username'])
{
$errors['username'] = "Username already in use !";
}
if ($existing->email == $email)
{
$errors['email'] = "Mail already in use !";
}
}
これは register.php ファイルの一部です。この部分だけが問題の原因かどうかはわかりませんが、私は推測します。
そのためif table members is empty
、フォームが送信されます - Firefox は 30 分ほどビジー gif であることを示しますが、新しいユーザーを登録せず、エラーも表示せずに終了します。凍らせ続けるだけ。
次にF5
、再送信情報を承認するウィンドウが表示されたら、クリックResend
します。新しいユーザーが登録されます。
If the table
メンバーis not empty
- すべて正常に動作します。
どうやら-問題は、上記のコードが存在しないデータを見つけるためにビジーであるためです。
If so
、次のようなことを伝える方法-テーブルが空の場合-試行を停止-新しいユーザーを登録するだけです。