我有一段代碼可以生成一個介於1和1000之間的隨機數。然後它將該數字存儲爲一個會話。然後,您將收到一封電子郵件,其中包含打印到表單中的會話編號並提交,但問題在於每當您提交表單時(頁面上有兩個表單),它會刷新隨機數並重置會話,導致您的代碼無效。我怎麼能阻止這個?停止會話被覆蓋
下面是我目前的問題;
HTML
<form action="cantaccess.asp" method="post">
<p>Email:<input type="text" name="inputtedEmail" value="" /></p>
<input type="submit" name="submitEmail" value="submit" />
</form>
<form action="cantaccess.asp" method="post">
<p>Code:<input type="text" name="inputtedCode" value="" /></p>
<input type="submit" name="submitCode" value="submit" />
</form>
ASP
'Declares the variable for the random number which will be sent and stored
Dim uniqueCode
'initialising the randomize generator
Randomize()
'genarating a random number between 1 and 1000
uniqueCode = CInt(Int((1000*Rnd()) + 1))
'writing it out for testing purposes
response.write(uniqueCode)
'store it as a session to save the code when the form is submitted
Session("generatedCode") = uniqueCode
Session.Timeout= 1
在過去做了這樣的事情,生成了一個[tag:rc4-cipher]加密的id,然後[tag:base64]對它進行了編碼,因此可以通過電子郵件進行傳輸並且可以在URL中使用而不會被破壞,會話值剛剛獲得不要削減它。 – Lankymart
它最初是一個8位數字,但我希望它是用戶友好的我現在意識到這一點,我打算使用一個生成器,使用字母表中的所有字母,然後數字1-9生成一個10位數的唯一代碼:) – Kieranmv95