フォームの「選択」ボックスのオプションにユーザー名が既にリストされているかどうかを確認するJavaScriptを作成しました。それは完璧に動作しますが、jQueryをよりうまく利用することで、もっとうまくやっていけるはずです。私はjQuery API、Google、StackOverflowを検索しようとしましたが、ガイダンスを見つける運がないようです。誰かが私にいくつかのポインタを与えることができれば、それは非常に高く評価されるだろう。事前にjQueryを使用して選択オプションを一致させる
// CHECK IF THE USERNAME ALREADY EXISTS
var found = false;
var users = document.admin_form.user_list.options;
var num_users = users.length;
if (num_users != 0) {
var name_in_list;
var i = 0;
var name_chosen = $("[name=user_name]").val().toLowerCase();
while ((i < num_users) && !found) {
name_in_list = users[i].text.toLowerCase();
if (name_chosen == name_in_list) {
found = true;
}
i++;
}
}
if (found) {
$("#user_err").text("That USERNAME already exists, try again");
$("[name=user_name]").val("");
$("[name=user_name]").focus();
}
ありがとう:
は、ここで私が現在使用している作業コードです!
この全体的なアイデアは、セキュリティの観点からはひどいものです。基本的には、サイトを閲覧しているすべてのユーザーにすべてのユーザー名のリストを提供しています。これはパスワードに沿ってブルートフォース攻撃を実行することを非常に簡単にします。代わりにajaxでこの機能を実装することを検討してください。 – loganfsmyth
"ajax"という言葉が何であるかを完全に理解しているかどうかは分かりませんが、基本的にjQuery/JavaScriptを使用してフォームを検証します。何か問題がなければjQueryの ".post"関数を使用してPHP関数それを私のデータベースに挿入します。このページには、セキュリティが考慮されているように管理者を認証することも含まれています。最終的には、これは私がこれらのことを学ぶプロジェクトであり、私の方法論の欠陥を学ぶことに感謝します。 – MisterWeary
これは一般ユーザーがアクセスできないと聞いてうれしいです。 AJAXは$ .postと$ .getがするものです。私の主な関心事は、一般的なログインページでユーザーのリスト全体を自由に使用できるようにすることでした。恐ろしいでしょう。また、JavaScriptでこのロジックを持つことは世界の終わりではありませんが、誰もがJavaScriptをオンにすることは想定できないため、この同じロジックがPHPで重複していることを確認する必要があります。 – loganfsmyth