0

現在Ajax、登録の検証を確認するために使用していますが、インターネット接続が十分ではなく、Ajax正しく機能していないことがあり、ユーザーが同じユーザー名で登録するようになっていると感じています。では、登録の検証を再確認して、データベース内でユーザー名が重複しないようにするにはどうすればよいでしょうか?

4

3 に答える 3

1

データベースのフィールドがUNIQUEこれに設定されている場合、エラーが返されるため、問題はありません。

CREATE TABLE user (
    username VARCHAR(20) UNIQUE NOT NULL,
    ...
)

このINSERTテーブルで が実行されたが、潜在的なユーザー名が既に使用されている場合、エラーが返されます。

クライアント側の検証は、ポップアップdivやハイライトされた を使用して Web ページを派手にするのに適していますspanが、検証は常にサーバー側で再チェックする必要があります。

于 2013-03-27T05:27:40.253 に答える
0

列に制約を一意に設定する以外にusername、エラーをチェックするためにレコードを作成する前に QUERY を実行する必要があります。入力を検証するために Javascript だけに頼っているように聞こえます。

最初に検証を解決してください! JavaScript に依存しないでください。フロントエンド (html ビュー) とバックエンド コード (php) で必要です。

于 2013-03-27T05:31:21.343 に答える
0

それは単なるアイデアです。入力の変更またはぼかしイベントで検証を行うと確信しています。ただし、登録は送信ボタンで行われます。私が正しければ、ユーザー名が存在するかどうかを確認するスクリプトを登録プロセスページに追加するだけです。存在する場合は、$_SESSIONまたはのエラー変数を使用して登録ページにリダイレクトしますURL/$_REQUEST。そのエラー変数を使用して、何が問題なのかをユーザーに伝えることができます。. 幸運を !

于 2013-03-27T05:40:00.930 に答える