質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

1359閲覧

asp netでmysqlを連結させ ログイン画面を作りたい。

tomokia

総合スコア28

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2021/06/23 06:16

環境 vs2017 webforms 4.61ver A5sql mk-2
sqlでユーザー情報を作成して、aspnetと連結させ、ログイン画面を作りたいと考えています。その際エラー表示を未入力時に未入力アラート、idかpwどちらかあるいは両方間違っていた場合に”使用できません”としたいです。当方初心者で、ネットの情報をコピペ等して課題をやっていますが、上手くいきません。sqlとの連結すら怪しいです。たくさん間違っている箇所があると思いますが、一つでも指摘していただけたら嬉しいです。どうぞよろしくお願いします。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="WebApplication_hara_kadai._01login.login" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" href="01login.css"/> <title></title> <style type="text/css"> #Button1 { width: 148px; margin-top: 0px; } #form1 { text-align: center; height: 90px; width: 553px; } #Label5{ margin-left: 37px; margin-right: 0px; } .auto-style1 { width: 100px; text-align:center; } .auto-style2 { width: 100px; color: #FF0000; } .auto-style3 { position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); width: 310px; height: 109px; } .auto-style4 { white-space: nowrap; } </style> </head> <body style="height: 125px; width: 1140px"> <form id="form1" runat="server"> <br /> <p> <asp:Label ID="Label5" runat="server" ForeColor="Red" Width="548px" Height="55px" Font-Size="X-Large" Visible="false"></asp:Label></p> <br /> <br /> <table class = "auto-style3" border="1" > <tr> <td class="auto-style1"> <asp:Label ID="Label1" runat="server" Text="Label">ID</asp:Label> </td> <td class="auto-style2"> <asp:TextBox ID="TextBox1" runat="server" Width="150px" ></asp:TextBox></td> </tr><tr> <td></td> <td class="auto-style4"> <asp:Label ID="Label8" runat="server" CssClass="error" ForeColor="Red" ></asp:Label> </td> </tr> <tr> <td class="auto-style1"><asp:Label ID="Label2" runat="server" >パスワード</asp:Label> </td> <td class="auto-style2"> <asp:TextBox ID="TextBox2" runat="server" Width="150px" TextMode = "Password"></asp:TextBox> </td> </tr> <tr> <td></td> <td class="auto-style4"> <asp:Label ID="Label9" runat="server" CssClass="error" ForeColor="Red"></asp:Label> </td> </tr> <tr> <td class="auto-style1">&nbsp;</td> <td class="auto-style2"> <asp:Button ID="Button1" runat="server" Text="次へ" OnCommand="Button1_Command" Width="157px" /> </td> </tr> <tr> <td class="auto-style1"></td> <td class="auto-style2"> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="../03input1/input1.aspx">新規登録はこちら</asp:HyperLink> </td> </tr> </table> </form> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using MySql.Data.MySqlClient; using System.Configuration; namespace WebApplication_hara_kadai._01login { public partial class login : System.Web.UI.Page { protected void Button1_Command(object sender, EventArgs e) { string ConnectionStr = ConfigurationManager.ConnectionStrings["mycon"].ConnectionString; MySqlConnection cnn = new MySqlConnection(ConnectionStr); cnn.Open(); MySqlCommand com = new MySqlCommand("SELECT * FROM Ulogin", cnn); MySqlDataReader dr = com.ExecuteReader(); string Id = TextBox1.Text; string pw = TextBox2.Text; Label5.Text = ""; Label8.Text = ""; Label9.Text = ""; bool isAuth = false; while (dr.Read()) { if (String.IsNullOrEmpty(TextBox1.Text)) { Label8.Text = "IDは必須入力です"; } if (String.IsNullOrEmpty(TextBox2.Text)) { Label9.Text = "パスワードは必須入力です"; } if ((string)dr[1111] == Id && (string)dr[2222] == pw) { isAuth = true; break; } } if (!isAuth) { Label5.Visible = true; return; } cnn.Close(); } } }
web config <?xml version="1.0" encoding="utf-8"?> <!-- --> <configuration> <system.web> <compilation debug="true" targetFramework="4.6.1"/> <httpRuntime targetFramework="4.6.1"/> <pages> <namespaces> <add namespace="System.Web.Optimization"/> </namespaces> <controls> <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/> </controls> </pages> </system.web> <connectionStrings> <add name = "mycon" connectionString = "Data Source=localhost; Initial Catalog=db20210616; database = db1; Integrated security = true; UserId=(aa);Password=(Tomoki729729)" providerName="System.Data.SqlClient"/> </connectionStrings> <runtime>
sql create table Ulogin ( UserId varchar(50) primary key not null, password varchar(50) not null ) insert into Ulogin values ('1111','2222') select * from Ulogin

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前のスレッド https://teratail.com/questions/345200 の int 型の配列を MySQL に変更しただけで、前と同様な独自実装の話の戻ってしまっていますが、一体どうなっているのですか?

ASP.NET Identity でユーザー情報のストアに MySQL を利用したいということなら可能ですので、前のスレッドでお勧めした通り ASP.NET Identity を使ってはいかがですか?

どのようにするかは以下の記事を見てください。

ASP.NET Identity で MySQL 利用 (.NET 版)
http://surferonwww.info/BlogEngine/post/2020/05/06/how-to-use-mysql-for-aspnet-identity.aspx

前のスレッドでも言いましたが、素人が Web アプリの認証システムを独自実装してもまず使い物にはなりません。

質問に書いてあることができたとしても、少なくとも Web アプリの認証システムの話としては何一つ役に立つようなことはないです。

しかも質問のコードはメチャクチャで他人に見てもらえるレベルに達してないし、質問のコードベースに Q&A をしてもお互い時間と労力の無駄になるだけだと思います。

ASP.NET Identity はやる気なしで、どうしても質問に書いてある独自実装の話しか受け入れられないなら質問の一行目にその旨書いておいてください。今後自分はスルーできますので。

投稿2021/06/23 06:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomokia

2021/06/23 07:29

時間かけてゆっくりやってみます
退会済みユーザー

退会済みユーザー

2021/06/23 07:48

ASP.NET Identity などの既存のフレームワークを利用して要件に合わないところはカスタマイズするレベルであれば 1 週間ぐらいでできるかもしれないが、そういう助けは無しでゼロから独自実装するなら何年か精進して知識とスキルを身に付けなければ話にならないぐらいの差はあると思ってください。
tomokia

2021/06/23 08:04

承知しました。 ちなみになんですが、最初に登録フォームで電子メールとパスワードを設定すると思いますが、電子メールをIDに変更したいのですがどうすればよろしいでしょうか?
退会済みユーザー

退会済みユーザー

2021/06/23 09:04 編集

ASP.NET Identity を使うということで今後ブレないなら新たに別のスレッドを立てて質問してください。 ただしそれより先に、デフォルトのままのメールアドレスと ID でなら動かせるというところまで進めてからにしてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問