2013-11-15 4 views
0

Когда я пытаюсь войти в систему с именем пользователя и паролем на другую страницу, ничего не происходит только, когда страница обновляется.jQuery Мобильный пользователь Войти

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<!--#include file="../Connections/VT.asp" --> 
<% 
' *** Validate request to log in to this site. 
MM_LoginAction = Request.ServerVariables("URL") 
If Request.QueryString <> "" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString) 
MM_valUsername = CStr(Request.Form("username")) 
If MM_valUsername <> "" Then 
    Dim MM_fldUserAuthorization 
    Dim MM_redirectLoginSuccess 
    Dim MM_redirectLoginFailed 
    Dim MM_loginSQL 
    Dim MM_rsUser 
    Dim MM_rsUser_cmd 

    MM_fldUserAuthorization = "" 
    MM_redirectLoginSuccess = "#page2" 
    MM_redirectLoginFailed = "error.html" 

    MM_loginSQL = "SELECT Username, Password" 
    If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization 
    MM_loginSQL = MM_loginSQL & " FROM dbo.Test_Register_Users WHERE Username = ? AND Password = ?" 
    Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command") 
    MM_rsUser_cmd.ActiveConnection = MM_VT_STRING 
    MM_rsUser_cmd.CommandText = MM_loginSQL 
    MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param1", 200, 1, 70, MM_valUsername) ' adVarChar 
    MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param2", 200, 1, 50, Request.Form("password")) ' adVarChar 
    MM_rsUser_cmd.Prepared = true 
    Set MM_rsUser = MM_rsUser_cmd.Execute 

    If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then 
    ' username and password match - this is a valid user 
    Session("MM_Username") = MM_valUsername 
    If (MM_fldUserAuthorization <> "") Then 
     Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) 
    Else 
     Session("MM_UserAuthorization") = "" 
    End If 
    if CStr(Request.QueryString("accessdenied")) <> "" And true Then 
     MM_redirectLoginSuccess = Request.QueryString("accessdenied") 
    End If 
    MM_rsUser.Close 
    Response.Redirect(MM_redirectLoginSuccess) 
    End If 
    MM_rsUser.Close 
    Response.Redirect(MM_redirectLoginFailed) 
End If 
%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<link rel="stylesheet" href="themes/vtapp.min.css" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile.structure-1.3.2.min.css" /> 
<style type="text/css"> 
body,td,th { 
    font-family: "Myriad Pro"; 
    font-size: 14px; 
    color: #000; 
} 
</style> 
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> 
</head> 

<body> 
<div data-role="page" id="page"> 
<div data-role="content" data-theme="a"> 
    <form id="form1" name="form1" method="POST" action="<%=MM_LoginAction%>"> 
     <table width="284" border="0" cellpadding="3" cellspacing="3"> 
     <tr> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td>Enter Username and Password</td> 
     </tr> 
     <tr> 
      <td><input name="username" type="text" id="username" value="blay" /></td> 
     </tr> 
     <tr> 
      <td><input name="password" type="text" id="password" value="BBBBBB" /></td> 
     </tr> 
     <tr> 
      <td><div align="center"> 
      <input type="submit" name="button" id="button" value=" Sign In " /> 
      </div></td> 
     </tr> 
     </table> 
     <p>&nbsp;</p> 
    </form> 
    <div data-role="page" id="page2"> 
     <div data-role="header"> 
     <h1>Header</h1> 
     </div> 
     <div data-role="content">Welcome User</div> 
    </div> 
</div> 
</div> 
</body> 
</html> 

При проверке всего, что написано, все коды правы, как предполагается, будут работать.

+0

Является ли '' # page2 '' сутенёром, чтобы быть другой страницей? –

+0

Да # page2 - другая страница на той же странице – blay

+0

Возможно, я ошибаюсь, но response.redirect нуждается в странице не только для хэша. Разве это не должно быть 'MM_redirectLoginSuccess = MM_LoginAction +" # page2 "'? –

ответ

0

Dreamweaver производит действительно отвратительный код ASP. Лучший совет, который я могу предложить, - это помочь вам в google для учебника о том, как писать формы входа в Classic ASP. Там одна здесь

http://www.w3schools.com/website/web_asp_login.asp

И есть много других. После того, как вы это сделали, удалите весь мусор, созданный Dreanweaver, и замените его собственным кодом.

В любом случае, глядя на HTML на вашей странице, я не вижу логики, которая определяет, следует ли отображать форму входа или приветственное сообщение. Попробуйте что-то по строкам

<% if Session("MM_UserAuthorization") = "" then %> 
    <form id="form1" name="form1" method="POST" action="<%=MM_LoginAction%>"> 
    (rest of your form here, I'm not going to copy it all) 
    </form> 
<% else %> 
    <div data-role="page" id="page2"> 
    <div data-role="header"> 
    <h1>Header</h1> 
    </div> 
    <div data-role="content">Welcome User</div> 
    </div> 
<% end if %> 
+0

, что я хочу, чтобы это сделать, когда оно проверяет правильность имени пользователя и пароля, оно должно привести вас к # page2, который даст приветственное сообщение – blay

+0

. Комментарий MC ND делает выше о Response.Redirect, вероятно, действителен, и возможно, стоит изменить строку 17 на MM_redirectLoginSuccess = "name-of-your-page.asp # page2". Посмотрите на свой код, хотя кажется, что вы можете прокручивать вниз до приветственного сообщения независимо от того, вошли ли вы в систему или нет. Конечно, вы хотите, чтобы он был доступен только в том случае, если пользователь вошел в систему – John

Смежные вопросы