asp.netページで簡単なログインフォームを作成しようとしています(htmlページがあり、現在asp.netに作成しようとしています)。入力したユーザー名とパスワードを取得し、mssqlデータベースに接続する必要があります。そこで、テキストボックスに入力されたユーザー名と同じユーザー名とパスワードを選択するSQL Selectステートメントを作成します(その後、入力されたパスワードがデータベースのパスワードと同じかどうかを比較します)。ユーザー名とパスワードに問題がない場合は、別のページ(main.aspx)を開く必要があります。私のindex.aspxは次のようになります。
<form id="loginform" runat="server" method="post" action="/">
<div id="username_box"><p style="padding-top: 10px; margin: 0px">Username:</p></div>
<input type="text" value="" name="usernameTextBox" runat="server" id="username_input" /><br/>
<div id="password_box"><p style="padding-top: 10px; margin: 0px">Password:</p></div>
<input type="password" value="" name="passwordTextBox" runat="server" id="password_input" /><br/>
<a href="facebook.com" style="float: left;padding-left: 13px;padding-top: 8px;">Glemt kodeordet?</a>
<input type="submit" runat="server" id="LoginBtnClick" />
</form>
送信ボタンが押された後、私のc#コードがあります:
protected void LoginBtn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select user_username, user_password FROM users WHERE user_username =@username and user_password=@password", con);
cmd.Parameters.AddWithValue("@username", "user");
cmd.Parameters.AddWithValue("@password", "1234");
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Response.Redirect("main.aspx");
}else
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
}
}
現在、ユーザーがテキストボックスに入力したユーザー名とパスワードではなく、データベースに挿入したハードコードされたユーザー名「user」とパスワード「1234」を使用しています。テキストボックスからテキストを取得する方法がわかりません。ただし、ハードコードされたユーザー名とパスワードを使用しても、このすべてが機能するわけではありません。
そして最後に、これは接続文字列を作成するためにWeb.Configに追加したものです。
<connectionStrings>
<add name="myConnectionString" providerName="System.Data.SqlClient" connectionString="Data Source=hereistheipofmydb;Initial Catalog=mydb;User Id =myadmin;password=mypass;" />
もう1つの質問:プロジェクト全体をサーバー(データベースと同じ)にアップロードする必要がありますか?現在、ホスティングにデータベースがありますが、VisualStudio2012で実行しているWebサイトです。