在SQL中保存注册页面数据,并在Visual Basic (Visual Studio 2019)中验证并重定向到主页.



我有一个ASP。Net WebForms网站的登录和注册表单。在用户提交注册表单时将数据保存在本地数据库中,并在用户登录网站时进行验证。

我已经创建了一个数据库,但现在我正在努力连接数据库并将数据保存到数据库中并验证表单我需要帮助连接数据库和保存数据从注册表

有我的代码signup.aspx.vb文件名

Imports System.Data
Imports System.Data.SqlClient
Imports System.Windows
Imports System.Windows.Forms
Public Class Signup
Inherits System.Web.UI.Page
Protected Sub signup_button_Click(sender As Object, e As EventArgs)
Dim con As SqlConnection = New SqlConnection("Data Source=(LocalDB)MSSQLLocalDB;AttachDbFilename=D:AvivProjectApp_DataDatabase.mdf;Integrated Security=True")
Dim cmd As SqlCommand = New SqlCommand("INSERT INTO [dbo].[register] ([username],[email],[password],[repeat-password])
VALUES('" + username.Text + "', '" + email.Text + "', '" + Password.Text + "','" + repeat - password.Text + "')")
con.Open()
cmd.ExecuteNonQuery()
MessageBox.Show("You have seccusessfull registered.", "Information", MessageBoxButtons.OK, MessageBoxButtons.Information)
con.Close()
End Sub
End Class

这是我的前端signup.aspx文件名

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="Signup.aspx.vb" Inherits="AvivProject.Signup" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<table style="width: 100%">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="Username"></asp:Label>
<input type="text" placeholder="Enter Username" name="username" id="username" 
required dir="rtl" formmethod="post" />
<asp:Label ID="Label3" runat="server" Text="איימל"></asp:Label>
<input type="email" placeholder="Enter Email" name="email" id="email" required dir="rtl" formmethod="post"/>
<asp:Label ID="Label2" runat="server" Text="סיסמא"></asp:Label>
<input type="password" placeholder="Enter Password" name="password" id="psw" 
required dir="rtl" formmethod="post" />
<asp:Label ID="Label4" runat="server" Text="חזור על הסיסמא"></asp:Label>
<input type="password" placeholder="Repeat Password" name="reapeat-password" id="psw-repeat" required dir="rtl" formmethod="post"/>
<asp:Button ID="signup_button" runat="server" Text="Register" 
CssClass="registerbtn" />
</td>
</tr>
</table>
</asp:Content>

请让我知道代码没有工作的错误是什么

真正的问题是什么?

考虑一下:

几乎每个网站都需要某种登录和安全系统。因此,您可以花费一个月左右的时间来构建自己的登录和安全系统。然而,你自己在这件事上所做的一切工作是否能比得上使用一个内置安全系统所需要的资源、时间和努力,这是非常值得怀疑的。

使用内置系统有很大的优势。例如,您可以说一组网页只允许属于销售安全组成员的用户使用。而另一组网页则可以为网站管理员提供安全保护。所有这些安全设置都可以并且确实发生,而无需编写任何代码。(您使用IIS的internet安全设置和型号)。

作为上述的结果,然后你可以应用安全到你的网站,而不必编写代码来检查一个有效的登录,甚至更好地检查登录的用户是否有权利使用一个特定的web部分或部分的网站。

现在,我们经常会写一些代码,并说检查用户是否有权做某些操作-假设我们可能有一个页面,我们让所有登录的用户查看某些数据,但我们只允许用户是"门户管理员"的成员;组可以删除记录。

所以在某些情况下,我们可以使用代码来检查用户被允许做什么。(他们的角色).

但是,不考虑编写一些代码,登录系统的总体设置,用户角色的设置;等应该留给使用内置系统。

通过使用内置系统,您可以节省大量的工作和时间。当然,设置这个登录系统可能会花费您更多的时间,但这比您尝试安装自己的安全系统要少得多。如果你安装了你自己的安全系统,它将不会是那么安全,并且将需要更多的工作来设置和构建你自己的安全系统。

还有更好的。如果你使用内置的安全系统,那么你可以输入asp.net登录控件,它会自动为你连接登录系统。

你当然可以加"或者将有关每个用户的更多信息添加到登录数据库中,但这没有任何意义,我重复一下,尝试从头构建自己的登录和安全系统没有任何意义。由于几乎每个网站都需要登录,那么为了这个目的已经存在了一套非常大的内置工具和系统,因此你花一两个月的时间来开发你自己的安全和登录系统是一个非常糟糕的主意,它将花费你大量的工作来尝试和重新生产已经制作,内置和已经为你创建的东西。

有相当多的方法来开始一个网站的内置登录。您可以从许多模板中选择一个,如果您启用了登录(身份验证),那么它将为您创建并连接安全系统。如前所述,你可以在你的数据库中创建额外的表,比如地址,或者为他们的项目和网站最终要实现的任何东西创建表。

但是,我强烈建议您不要尝试构建自己的系统,因为已经存在多个内置选择,并且已经为您构建和设置好了。最好花时间学习如何使用这些内置系统,而不是尝试构建和推出自己的安全系统——这将给您带来大量的工作,结果仍然会更糟,并且比使用内置和支持安全模型的网站功能更少。

网站安全是一个非常大的话题——在这个论坛上,它不仅仅是一个简单的问题和答案,它需要你的努力。

我会从创建一个新的网站应用程序开始,并选择启用登录,数据库和所有登录的东西都会自动创建并为您连接。然后你必须学习它是如何工作的——但这比尝试建立和重新创建你自己的安全系统要少得多。

最新更新