現在Ajax
、登録の検証を確認するために使用していますが、インターネット接続が十分ではなく、Ajax
正しく機能していないことがあり、ユーザーが同じユーザー名で登録するようになっていると感じています。では、登録の検証を再確認して、データベース内でユーザー名が重複しないようにするにはどうすればよいでしょうか?
3 に答える
データベースのフィールドがUNIQUE
これに設定されている場合、エラーが返されるため、問題はありません。
CREATE TABLE user (
username VARCHAR(20) UNIQUE NOT NULL,
...
)
このINSERT
テーブルで が実行されたが、潜在的なユーザー名が既に使用されている場合、エラーが返されます。
クライアント側の検証は、ポップアップdiv
やハイライトされた を使用して Web ページを派手にするのに適していますspan
が、検証は常にサーバー側で再チェックする必要があります。
列に制約を一意に設定する以外にusername
、エラーをチェックするためにレコードを作成する前に QUERY を実行する必要があります。入力を検証するために Javascript だけに頼っているように聞こえます。
最初に検証を解決してください! JavaScript に依存しないでください。フロントエンド (html ビュー) とバックエンド コード (php) で必要です。
それは単なるアイデアです。入力の変更またはぼかしイベントで検証を行うと確信しています。ただし、登録は送信ボタンで行われます。私が正しければ、ユーザー名が存在するかどうかを確認するスクリプトを登録プロセスページに追加するだけです。存在する場合は、$_SESSION
またはのエラー変数を使用して登録ページにリダイレクトしますURL/$_REQUEST
。そのエラー変数を使用して、何が問題なのかをユーザーに伝えることができます。. 幸運を !