Benzersiz adlarını oluşturma

4 Cevap php

Yani belirli kullanıcıların yeni kullanıcı hesapları oluşturmak ancak, çeşitli nedenlerle için yetenek, onlar sistemde tüm kullanıcıların bir listesini alamıyorum izin yapacak bir sistemi var. (Onlar kullanılan adların bir listesini göremiyorum eğer) bu zor yeni kullanıcı adları oluştururken yapabilir

Bir kişinin adı ve soyadı dışında bir kullanıcı adı oluşturarak herhangi standart bir yolu var mı?

Şu anda sistem ilk ilk soyadını kullanarak varsayılan çalışır ... ama ne bu alınan isim varsa? Kişi tekrar tekrar deneyin yapmadan bu yeni kullanıcı adı yaratmanın kolay bir yolu var mı? (Ve ben doğrusu jsmith1234 ile sona ediyorum)

Ben emrinde PHP, Jquery, mySQL var

4 Cevap

Her zaman yerine geleneksel bir kullanıcı adı kimlik doğrulaması kişinin e-posta adresini kullanabilirsiniz. Diğer insanlar zaten adını göremiyorsanız bu iyi bir yaklaşım olacaktır.

Adlar da benzersiz değildir beri, ben bu işe nasıl göremiyorum. Temelde aynı zamanda insanların kendi adlarını almak sağlar çarpışma, idare edebilmek gerekir.

Benim tavsiyem olsa genellikle (böylece her girişimi ile bu yazın için) temizlenir şifre alanların, tüm formu göndermek ve daha sonra kullanıcı "mevcut değil adı" için geri kalmamasıdır. Bu kayıt işlemleri ile benim en büyük pet peeves biridir.

Durumunu kontrol etmek için AJAX kullanın. Açık bir "kontrol et" butonu ya da zaman ile metin alanı (bulanıklık olayı) odağı kaybettiğinde Ya kendini kontrol edin.

Jason hey. Ben aşağıdaki öneririm. Önce bir ad ve soyadı verilen, mümkün adlarını veren bir algoritma oluşturmak.

örneğin

$foo->genPossibleUserNames('Dave', 'Smith');
could return

  • dsmith (İlk başlangıç, soyad)
  • dasmith (ilk 2 harflerini. lastname)
  • davesmith (ilk isim. lastname)
  • dave.smith (Isim '.' soyad)
  • davsmith (ilk 3 harflerini. lastname)

Elbette kişisel tercihleri ​​ile mümkün adlarının bu dizi sipariş. Daha sonra bu isimlerin teklik için veritabanı kontrol ve kullanıcıya bir seçenek listesi olarak bunları sağlayacak.

Kullanıcı tabanı yeterince büyük büyürse tabii, dsmith1 sahip kaçınılmazdır, ama en azından bu şekilde ilk daha tercih şey seçmek için teşvik eder.

Ben sonunda jsmith123 ile sonuna kadar gidiyoruz düşünüyorum, ama sadece gibi algoritması çeşit ile gelebilir.

Person: John Smith
Try1: johnsmith
Try2: smithjohn
Try3: jsmith
Try4: johns
Try5: johnsm
Try6: johnsmi

Ve böylece. Eğer sonunda bir benzersiz bir ad olsun yoksa numaraları dönmek zorunda kalacak, ama o olmadan adları% 98 almalısınız.