Web Login Форм vvсгэх

 


Магадгvй та вэб хуудсуудаар зочилж байхдаа тухайн хуудсны боломжыг бvрэн ашиглахын тулд бvртгvvлэх vv гэсэн асуулттай таарч байсан биз ээ. Та энэхvv хичээлээс хэрхэн login (нэвтрэх) формыг єєрийн вэб программд хийхийг суралцах болно.

 

Нэвтрэх формын жишээ

Дээрх жишээ нь сервер дэх NorthWind єгєгдлийн баазын Employee хvснэгтээс овог, нэрийг авч оруулсан єгєгдєлтэй тулган, хэрэв оруулсан єгєгдєл баазад байгаа бол вэб хуудасыг цааш vргэлжvvлнэ. Харин vгvй бол дахин оруулахыг хvсэх болно.

 

Login форм хийх алхамууд:
Эхлээд та Web Application прожектыг Visual Studio-д vvсгэх хэрэгтэй.
  1. Visual Studio-г ажиллуулан, Create New Project-г сонгоно.
  2. Зvvн талын цонхноос Visual Basic Projects сонгон, on ASP.NET Web Application-ыг Templete цонхоос идэвхжvvлнэ.
  3. Name талбарт LoginSample
  4. Web Application прожект хаана vvсгэхийг сонгоно. (http://localhost/LoginSample)
  5. Ok товчлуурыг дарснаар шинэ Web Application vvсгэх болно.
  6. Єєрийн вэб формын нэрийг Web Form1.aspx байсныг Login.aspx болгон єєрчилнє vv.
  7. Одоо та Toolbox-оос хэрэгцээт контролуудыг формд байрлуулна уу.
    Контролын тєрєлPropertyУтга
    LabelNameLabel1
    TextFirst Name
    TextBoxNametxtFirst
    TextAndrew
    LabelNameLabel2
    TextLast Name
    TextBoxNametxtLast
    TextFuller
    ButtonNamebtnSubmit
    TextLogin

 

Employee класс

Дараах классд FirstName, LastName гэсэн 2 property, EmployeeValid гэсэн method байрлана. Property-нууд вэб формоос утга уншин хадгална. Method нь баазад оруулсан нэр, овог байгаа эсэхийг шалгана.

Project -> Add Class-ыг менюнаас сонгоно. Нэрийг нь Employee.vb гэж солино. Шинэ классыг нээж дараах кодыг бичнэ.

   Public Class Employee
       Private mstrFirst As String
       Private mstrLast As String
    
       Property LastName() As String
           Get
               Return mstrLast
           End Get
           Set(ByVal Value As String)
               mstrLast = Value
           End Set
       End Property
    
       Property FirstName() As String
           Get
               Return mstrFirst
           End Get
           Set(ByVal Value As String)
               mstrFirst = Value
           End Set
       End Property
    
       Public Function EmployeeValid() As Boolean
           Dim oCmd As OleDb.OleDbCommand
           Dim oDR As OleDb.OleDbDataReader
           Dim strSQL As String
           Dim strConn As String
           Dim boolFound As Boolean
        
           '** Холболтын тэмдэгт мєр vvсгэх
           strConn = "Provider=sqloledb"
           strConn &= ";Data Source=(local)"
           strConn &= ";Initial Catalog=Northwind"
           strConn &= ";User id=sa"
           strConn &= ";Password="
        
           '** Хэрэгжих коммандын текст
           strSQL = "SELECT EmployeeID FROM Employees "
           strSQL &= "WHERE LastName = '" & mstrLast & "' "
           strSQL &= "AND FirstName = '" & mstrFirst & "' "
        
           '** Command объект vvсгэх
           oCmd = New OleDb.OleDbCommand()
           With oCmd
               .CommandText = strSQL
               .CommandType = Data.CommandType.Text
               .Connection = _
                New OleDb.OleDbConnection(strConn)
               .Connection.Open()
           End With

           '** SQL-ыг ажиллуулах
           oDR = oCmd.ExecuteReader( _
            CommandBehavior.SequentialAccess)
           boolFound = oDR.Read

           '** Data Reader болон Connection-ыг хаах
           oDR.Close()
           oCmd.Connection.Close()

           '** функцын буцаах утга True эсвэл False
           Return boolFound
       End Function
   End Class

EmployeeValid method нь SQL Select мэдэгдэл vvсгэн, энэ нь классын 2 property-н утгаар хvснэгтний єгєгдлvvдээс шvvлт хийн, бичлэгийг OleDbDataReader объект руу буцаан дамжуулна. OleDbDataReader объектын Read method нь хэрэв ямар нэг єгєгдєл буцаж ирсэн бол vнэн (true), хоосон бол худал (false) утга буцаана. BoolFound хувьсагчын утгыг функцын буцах утга болгон авч байна.

 

Хэрэв та Microsoft Access бааз ашиглах гэж буй бол холболтын тэмдэгт мєрийг дараах байдлаар єєрчилнє vv. (та замыг нь солихоо мартваа :-))
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Northwind\Northwind.mdb"

 

Login-ыг шалгах

Одоо та Employee класстай ба vvнийгээ Login товчлуурын Click vзэгдлийн процедурт ашиглана.

  1. Login.aspx вэб формын design mode-г сонгоно уу.
  2. Login товчлуур дээр давхар товшилт хийнэ.
  3. Дараах кодыг Click vзэгдлийн процедурт бичнэ.
   Private Sub btnSubmit_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles btnSubmit.Click
       Dim oEmp As Employee = New Employee()

       With oEmp
           .LastName = txtLast.Text
           .FirstName = txtFirst.Text

           If .EmployeeValid() Then
               Session("EmpName") = .FirstName & _
                   " " & .LastName
               'Response.Write("Welcome " & _
                .FirstName & "")
           Else
               'Response.Write("Invalid Login Name")
           End If
       End With
   End Sub
Дээрх кодонд, шинээр Employee объект vvсгэж, text box-уудаас утгуудыг LastName ба FirstName property-нуудад онооно. Дараа нь EmployeeValid method-ыг дуудах ба хэрэв vнэн утга буцаж ирвэл “Welcome <Нэр>” гэж бичих ба худал бол “Invalid Login Name” гэж браоузерт бичих болно.

 

Буцаах Форм vvсгэх

Та арай илvv сайжруулж нэвтрэлт амжилттай биелсэн vvсэх форм, буруу бол дахин оролдохыг хvссэн форм vvсгэхээр єєрчлєхийн тулд дараах алхмуудыг хийнэ.

  1. Шинээр LoginFailure.htm файлыг Project -> Add HTML Page цэснээс сонгон vvсгэнэ
  2. Хуудасан дээр мэдээллээ оруулна. Жишээ нь: “The first name and last name that you typed in, do not exist in the employee database, please re-enter the information” гэж бичнэ vv. (Property цонхноос pagelayout property-г FlowLayout болгосон эсэхийг шалгаарай)
  3. Хэсэг хоосон мєр авч “re-login’ гэж бичээд энэ текстээ идэвхжvvлнэ.
  4. Insert -> Hyperlink цэснээс сонгоно.
  5. URL талбар дээр Login.aspx гэж бичнэ.
  6. Login.aspx вэб формыг нээж Login button дээр давхар товшилт хийж
  7. Дараах мєрийг Response.Write("Invalid Login Name") олоод Response.Redirect("LoginFailure.htm")-гэж солино.

 

Амжилттай биелсэн vед

Одоо та амжилттай холбогдсныг хэрэглэгчийн нэрийн хамт мэдэгдэх форм хийнэ.

  1. LoginSuccess.aspx формыг Project|Add HTML Page New-ээс сонгоно.
  2. Web Form дээр давхар товшилт хийнэ.
  3. Дараах кодыг бичнэ.
         Private Sub Page_Load(ByVal Sender As System.Object, _
          ByVal e As System.EventArgs) Handles MyBase.Load
             Response.Write("Welcome to our web site " & _
                 Session("EmpName").ToString())
          End Sub
    
  4. Login.aspx формыг нээж
  5. Login button дээр давхар товшилт хийнэ.
  6. Дараах мєрийг Response.Write("Welcome " & .FirstName & "") арилгана. Season хувьсагчид энд утга оноож, дээрх vзэгдлийн процедурд хэрэглэж байна.

 

ASP.NET | дээшээ | Web Form-д єгєгдєл бэхлэх
нvvр хуудас