環境 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"> </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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/23 07:29
退会済みユーザー
2021/06/23 07:48
2021/06/23 08:04
退会済みユーザー
2021/06/23 09:04 編集