[ASP ] 請問如何利用Session的值判斷是否執行某段程式碼
我想要建立一個註冊使用者的頁面adduser.asp,
可以輸入帳號並且在按下"送出"的時候,
驗證使用者是否有輸入帳號,
如果有輸入,
Session("addOpen") = "open",
跳到CusAdd_p.asp新增帳號,
如果按下"看該帳號是否已有人使用",
Session("addOpen") = ""
則在CusAdd_p.asp驗證資料是否有重複的帳號,
驗證完後跳回adduser.asp。
現在我的問題是只要按過一次送出,
Session("addOpen") = "open"的值就不會改變了,
所以就連按下"看該帳號是否已有人使用",
也會直接就新增帳號到資料庫,
麻煩幫我看一下我的程式有什麼問題,
感激不盡m(_ _)m
*********************************
讓使用者填入表單的頁面adduser.asp
*********************************
--------------------------
當使用者按下Submit2按鈕,
則驗證是否有輸入帳號,
如沒有輸入則跳出訊息。
驗證通過則進入CusAdd_p.asp
並且設定一個Session
--------------------------
<script language="javascript">
function CheckArea()
{
var theForm = document.addForm;
if ( theForm.txtLoginID.value == "" )
{
alert("帳號不得為空白");
theForm.txtLoginID.focus();
return;
}
<% Session("addOpen") = "open" %>
theForm.submit();
}
</script>
<FORM NAME="addForm" METHOD="post" ACTION="CusAdd_p.asp" ID="Form">
<table>
<tr>
<th>帳號</th>
<td>
<input name="txtLoginID" type="text" CLASS="form" ID="txtLoginID" value="">
<input name="btnChkLoginID" type="submit" CLASS="form" ID="btnSubmit" value="看該帳號是否已有人使用">
</td>
</tr>
</table>
-----------------------------------
點下送出按鈕進行資料驗證,
並且設定Session("addOpen") = "open"
-----------------------------------
<input name=btnSubmit type=button CLASS="form" ID="Submit2" onClick="CheckArea();" value=送出>
</FORM>
****************************
CusAdd_p.asp
驗證帳號是否已存在於資料庫,
驗證通過則新增帳號至資料表,
(省略資料庫連結的程式碼)
(省略pfShowMessage()程式碼)
****************************
<%
----------------------------------
如果Session("addOpen") 不是 "open"
則判斷帳號是否已存在資料庫,
是"open"就新增帳號。
----------------------------------
If Session("addOpen") <> "open" then
Set oRS = oConn.Execute ( sSQL )
If Not oRS.EOF Then
Call pfShowMessage("帳號已存在,請重新輸入")
Response.End
Else
Call pfShowMessage("帳號 " & sLoginID & " 目前尚無人使用")
Response.End
oRS.Close
End If
Else
Set oRS = Server.CreateObject("ADODB.RecordSet")
oRS.Open "alantest" , oConn, 1, 3
id = request.Form("txtLoginID")
oRS.AddNew
oRS("id")= id
oRS.Update
oRS.Close
response.Write("帳號新增完成")
Session("addOpen") = ""
End If
%>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.245.169
→
09/07 18:33, , 1F
09/07 18:33, 1F
→
09/07 18:55, , 2F
09/07 18:55, 2F
→
09/07 18:57, , 3F
09/07 18:57, 3F
→
09/07 21:59, , 4F
09/07 21:59, 4F
→
09/07 22:00, , 5F
09/07 22:00, 5F
→
09/07 22:30, , 6F
09/07 22:30, 6F
→
09/07 22:30, , 7F
09/07 22:30, 7F
→
09/07 22:30, , 8F
09/07 22:30, 8F
→
09/07 22:30, , 9F
09/07 22:30, 9F
→
09/07 22:31, , 10F
09/07 22:31, 10F