simon fuller
7/20/2002 10:45:00 PM
Hi,
I have an example login page from asp.net unleashed, but
unfortunately it does not cover either odbc.net or
mysql.The other problem is that it uses a stored
procedure which I dont believe mysql supports?
I was wondering someone could either provide a sample or
help me out with converting this one:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script Runat="Server">
Sub Page_Load
Dim strLinkPath As String
If Not IsPostBack Then
strLinkPath = String.Format( "Register/Register.aspx?
ReturnUrl={0}", _
Request.Params( "ReturnUrl" ) )
lnkRegister.NavigateUrl = String.Format( strLinkPath )
End If
End Sub
Sub Button_Click( s As Object, e As EventArgs )
If IsValid Then
If DBAuthenticate( txtUsername.Text,
txtPassword.Text ) > 0 Then
FormsAuthentication.RedirectFromLoginPage(
txtUsername.Text, False )
End If
End If
End Sub
Function DBAuthenticate( strUsername As String,
strPassword As String ) As Integer
Dim conMyData As SqlConnection
Dim cmdSelect As SqlCommand
Dim parmReturnValue As SqlParameter
Dim intResult As Integer
conMyData = New SqlConnection
( "Server=localhost;UID=sa;PWD=secret;Database=myData" )
cmdSelect = New SqlCommand( "DBAuthenticate",
conMyData )
cmdSelect.CommandType = CommandType.StoredProcedure
parmReturnValue = cmdSelect.Parameters.Add
( "RETURN_VALUE", SqlDbType.Int )
parmReturnValue.Direction =
ParameterDirection.ReturnValue
cmdSelect.Parameters.Add( "@username", strUsername )
cmdSelect.Parameters.Add( "@password", strPassword )
conMyData.Open()
cmdSelect.ExecuteNonQuery()
intResult = cmdSelect.Parameters
( "RETURN_VALUE" ).Value
conMyData.Close()
If intResult < 0 Then
If intResult = -1 Then
lblMessage.Text = "Username Not Registered!"
Else
lblMessage.Text = "Invalid Password!"
End If
End If
Return intResult
End Function
</Script>
<html>
<head><title>Login.aspx</title></head>
<body>
<form Runat="Server">
<h2>Please Login:</h2>
<asp:Label
ID="lblMessage"
ForeColor="Red"
Font-Bold="True"
Runat="Server" />
<p>
<b>Username:</b>
<br>
<asp:TextBox
ID="txtUsername"
Runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtUsername"
Text="Required!"
Runat="Server" />
<p>
<b>Password:</b>
<br>
<asp:TextBox
ID="txtPassword"
Runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtPassword"
Text="Required!"
Runat="Server" />
<p>
<asp:Button
Text="Login!"
OnClick="Button_Click"
Runat="Server" />
<hr>
<asp:HyperLink
ID="lnkRegister"
Text="Click Here To Register!"
Runat="Server" />
</form>
</body>
</html>
Stored procedure:
CREATE PROCEDURE DBAuthenticate
(
@username Varchar( 100 ),
@password Varchar( 100 )
)
As
DECLARE @ID INT
DECLARE @actualPassword Varchar( 100 )
SELECT
@ID = IdentityCol,
@actualPassword = u_password
FROM UserList
WHERE u_username = @username
IF @ID IS NOT NULL
IF @password = @actualPassword
RETURN @ID
ELSE
RETURN - 2
ELSE
RETURN - 1
Many Thanks
Simon