質問: 多くのサービスでは新規登録ボタン(サインアップボタン)とログインボタン(サインインボタン)が別々に設置してあります。しかし、これを分ける意味はあるのでしょうか? 例えば、こういう仕様にするのはいかがでしょうか。(*メアドとパスワードでログインできるサービスを想定しています) > > ●メアドとPWの入力欄を設けて、そのサービスを利用したいユーザーにその2つを入力するよう促す > > ●「入力メアド=登録メアド」、かつ、「入力メアドと紐づけられたPW=入力PW」であるなら、ログインさせる > > ●「入力メアド=登録メアド」、かつ、「入力メアドと紐づけられたPW≠入力PW」であるなら、エラーメッセージを表示させる > > ●「入力メアド≠登録メアド」なら、「このメールアドレスで新規登録しますか?」みたいなダイアログを出す。OKボタンが押されたら、入力メアド当てに確認コードを送っていいかのダイアログを出す。OKボタンが押されたら入力メアド当てに確認コードを送付し、確認コードを入力するためのページに遷移。送った確認コードと入力されたコードが一致したら新規ユーザー登録完了とする > > ●ログインしたらメアドとPWの入力欄は消す > > > なお、上で使っている略語の意味は次の通り | 省略形 | 意味 | | --- | --- | | PW | パスワード | | 入力メアド | フォームに入力されたメアド | | 登録メアド | データベースに登録されているメアド | | 入力PW | フォームに入力されたパスワード | --- **表現方法の説明** 「こういう仕様にするのはいかがでしょうか」というのは、「こういう仕様にするメリット・デメリットはなにか」という意味です。 **追加の質問** 1. 様々な問題点を指摘していただきましたが、それらの問題は上述した仕様に問題があるのであり、新規登録とログインに同じフォームを使うこと自体はメリットの方が勝っているのでしょうか?つまり、仕様によっては、新規登録とログインに同じフォームを使うことは、生産的・効果的であるのでしょうか? 2. 新規登録とログインで別のフォームを使っていて、かつ、メアドとPWを登録するタイプのフォームにおいて、新規登録のフォームですでに登録されているメアドを入力した場合はどのようなエラーメッセージが出るのが一般的なのでしょうか?例えばAmazonではすでに登録されているメアドを使って新規登録しようとすると次のようなエラーメッセージが出ます。 ![アマゾンのエラーメッセージ](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/e1824b1ee974edb8dec54df5e03da70b.jpeg) 何人かの回答者さんの意見だとこれはセキュリティ的に芳しくないとのことですが、ではこのようなエラーメッセージは一般的ではないのでしょうか?
回答: 機能的には問題ないと思いますが、UIはわかりやすさが大切かと考えます。 未登録ユーザは、登録していないメールアドレスをいきなり入力するのに戸惑いそうですし、 "こういう仕様です"という説明を書いて読ませるなら、一般的なスタンダードになっている新規登録/ログイン を分ける方が、わかりやすいのかなと思います。