網站公告 :


Delphi K.Top討論區 » 其它程式語言討論區 » 請問一下這兩行程式是什麼意思?
發表新文章
 
主題:請問一下這兩行程式是什麼意思?
瀏覽次數:1102
答題得分者是:careychen
kenny_yeh
一般會員




發表:8
回覆:8
積分:3
註冊:2008-03-05

發送簡訊給我
#1 發表時間:2008-07-25 14:23:01 IP:203.75.xxx.xxx 訂閱

請問一下這兩行程式(ASP)
var MM_valUsername=String(Request.Form("Name"));
if (MM_valUsername != "undefined")
中的String()是何作用?
另"undefined"是什麼意思?

謝謝!!
------
對權威愚忠就是真理最大的敵人!!


careychen
尊榮會員




發表:41
回覆:571
積分:947
註冊:2004-03-03

發送簡訊給我
#2 發表時間:2008-07-25 16:36:12 IP:218.210.xxx.xxx 訂閱

String 是字串的意思
String() 就是強制把 Request.Form("Name") 傳進來得值轉成【字串】的型態
undefined 的意思是【未定義】,如果 User 沒有傳 Name 這個變數進來時,ASP 他會接不到值,
會丟一個 undefined 的值出來,但一丟出來時不是【字串】
所以 String(undefined)  ==>  會變成 "undefined"  

===================引 用 kenny_yeh 文 章===================
請問一下這兩行程式(ASP)
var MM_valUsername=String(Request.Form("Name"));
if (MM_valUsername != "undefined")
中的String()是何作用?
另"undefined"是什麼意思?

謝謝!!

------
價值的展現,來自於你用哪一個角度來看待它!!

kenny_yeh
一般會員




發表:8
回覆:8
積分:3
註冊:2008-03-05

發送簡訊給我
#3 發表時間:2008-07-25 18:49:28 IP:203.75.xxx.xxx 訂閱

careychen兄,

謝謝你!!

另有一個問題不知可否請教一下?



1.上面的Code中的MM_fldUserAuthorization變數,不知誰會改變其值?(很多if都是用這個變數)

2. 上面的Code中的
     if (MM_fldUserAuthorization != "") MM_rsUser.Source += "," + MM_fldUserAuthorization;
    MM_rsUser.Source += " FROM UserAcount WHERE Name='" + MM_valUsername.replace(/'/g, "''") + "' AND Password='" + String   (Request.Form("Password")).replace(/'/g, "''") + "'";
   其中replace(/'/g, "''")是什麼意思?

3.上面的Code中的
    if (MM_fldUserAuthorization != "") {
      Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);
    } else {                                //有將UserAcount的值存入????????????
      Session("MM_UserAuthorization") = ""; //沒有清空
    }//if (MM_fldUserAuthorization != "") 
   其中String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);是什麼意思?

4.上面的Code中的
    if (String(Request.QueryString("accessdenied")) != "undefined" && false) {
      MM_redirectLoginSuccess = Request.QueryString("accessdenied");
    }//if (String(Request.QueryString("accessdenied"))

    是什麼意思?

麻煩你羅!!
我爬文爬了許久仍找不到答案.
謝啦!


編輯記錄
kenny_yeh 重新編輯於 2008-07-25 18:52:14, 註解 無‧
kenny_yeh 重新編輯於 2008-07-25 18:54:30, 註解 無‧
------
對權威愚忠就是真理最大的敵人!!

careychen
尊榮會員




發表:41
回覆:571
積分:947
註冊:2004-03-03

發送簡訊給我
#4 發表時間:2008-07-25 22:38:01 IP:59.126.xxx.xxx 訂閱

Hi, ASP 我沒有那麼熟,就我知道的部份粗淺的說一下

1.上面的Code中的MM_fldUserAuthorization變數,不知誰會改變其值?(很多if都是用這個變數)
    看來是用來定義,如果我把  MM_fldUserAuthorization  改變內容時,則會多讀出一個授權的資料,
    所以【現在】是設空值,所以不會讀出授權的資料

2. 上面的Code中的
     if (MM_fldUserAuthorization != "") MM_rsUser.Source += "," + MM_fldUserAuthorization;
    MM_rsUser.Source += " FROM UserAcount WHERE Name='" + MM_valUsername.replace(/'/g, "''") + "' AND Password='" + String   (Request.Form("Password")).replace(/'/g, "''") + "'";
   其中replace(/'/g, "''")是什麼意思?
      這是改變字串中的  '  變成兩個 ''  這個是怕帳號或密碼的輸入的字串中有一個 ' 時,會有  SQL Injection 的狀況發生,會容易導致 SQL 資料外洩

3. 上面的Code中的
    if (MM_fldUserAuthorization != "") {
      Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);
    } else {                                //有將UserAcount的值存入????????????
      Session("MM_UserAuthorization") = ""; //沒有清空
    }//if (MM_fldUserAuthorization != "") 
   其中String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value);是什麼意思?
    如果有第一點的授權資料時,讀出該欄位的資料,並強制轉型成 String 字串型態

4.上面的Code中的
    if (String(Request.QueryString("accessdenied")) != "undefined" && false) {
      MM_redirectLoginSuccess = Request.QueryString("accessdenied");
    }//if (String(Request.QueryString("accessdenied"))

    是什麼意思?
      這行叫做目前無效的指令,因為後面有一個  && false ,永遠不會執行裡面的內容,比較像是後來被人取消了該行指令的執行

麻煩你羅!!
我爬文爬了許久仍找不到答案.
謝啦!

------
價值的展現,來自於你用哪一個角度來看待它!!

kenny_yeh
一般會員




發表:8
回覆:8
積分:3
註冊:2008-03-05

發送簡訊給我
#5 發表時間:2008-07-26 12:38:51 IP:219.84.xxx.xxx 訂閱

careychen兄,

謝謝你!!

針對上面這點:
1.上面的Code中的MM_fldUserAuthorization變數,不知誰會改變其值?(很多if都是用這個變數)
    看來是用來定義,如果我把  MM_fldUserAuthorization  改變內容時,則會多讀出一個授權的資料,
    所以【現在】是設空值,所以不會讀出授權的資料

你如何去將MM_fldUserAuthorization 改變內容?
如何去讀出一個授權的資料?
另那個授權的資料是怎麼樣的?
是不是有什麼工具可用?

謝謝!!

------
對權威愚忠就是真理最大的敵人!!

careychen
尊榮會員




發表:41
回覆:571
積分:947
註冊:2004-03-03

發送簡訊給我
#6 發表時間:2008-07-26 12:42:13 IP:59.126.xxx.xxx 訂閱


===================引 用 kenny_yeh 文 章===================
careychen兄,

謝謝你!!

針對上面這點:
1.上面的Code中的MM_fldUserAuthorization變數,不知誰會改變其值?(很多if都是用這個變數)
    看來是用來定義,如果我把  MM_fldUserAuthorization  改變內容時,則會多讀出一個授權的資料,
    所以【現在】是設空值,所以不會讀出授權的資料


所以【現在】是設空值,所以不會讀出授權的資料
注意我是說現在,但如果我程式有重新  Compiler  時,就可以寫成 

var MM_fldUserAuthorization  = "abc"

你如何去將MM_fldUserAuthorization 改變內容?
如何去讀出一個授權的資料?
另那個授權的資料是怎麼樣的?  // ==> 這個我就不曉得了,那個資料庫會讀出什麼東西我也不知道
是不是有什麼工具可用?

謝謝!!

------
價值的展現,來自於你用哪一個角度來看待它!!

kenny_yeh
一般會員




發表:8
回覆:8
積分:3
註冊:2008-03-05

發送簡訊給我
#7 發表時間:2008-07-27 10:15:11 IP:219.84.xxx.xxx 訂閱

careychen兄,

謝謝你!!

------
對權威愚忠就是真理最大的敵人!!

kenny_yeh
一般會員




發表:8
回覆:8
積分:3
註冊:2008-03-05

發送簡訊給我
#8 發表時間:2008-07-28 09:37:26 IP:219.84.xxx.xxx 訂閱

careychen兄或各位先進您好:
小弟有個錯誤訊息,麻煩一下!!

技術資訊 (供技術支援人員使用)
錯誤類型:
Microsoft Jforbidden 執行階段錯誤 (0x800A138F)
必須要有物件
/Index.asp, line 118
瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Foxy/1; Foxy/1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
頁數:
POST 42 bytes to /Index.asp
POST Data:
Name=kenny&Password=k655714&Login=%B5n%A4J
請問一下該如何解決這個物件問題?(附上以下Code)

//記憶使用者輸入的資料,使用Cookies
//因為BrowSer與伺服器交換Cookies資料的時機需在伺服器尚未下載資料給BrowSer之前就進行交換
//否則會出現錯誤所以需設定啟動輸出暫存區(Buffer)
Response.Buffer=true;
//存放Cookies使用期限->Expiredate變數
var Expiredate=DateAdd("d",365,Date);   --------line 118    
//把MM_valUsername變數內的值存回cookies變數->Username
Response.Cookies("Username")=MM_valUsername; 
//設定Cookies物件的使用期限->一年內有效
Response.Cookies("Username").Expires=Formatdatetime(Expiredate);
 

------
對權威愚忠就是真理最大的敵人!!

careychen
尊榮會員




發表:41
回覆:571
積分:947
註冊:2004-03-03

發送簡訊給我
#9 發表時間:2008-07-28 10:12:23 IP:59.126.xxx.xxx 訂閱

HI Kenny_Yeh 兄,請注意討論版的規定哦,請勿一版多問,
請重新另發一篇新的文章唷~~~!!!

那這個問題我就不清楚了,之前的問題是就程式的部份跟你聊聊的
至於你現在提的問題,我倒覺得不是在那一行咧~~,因為那一行不會有物件的問題
建立你再找找!!
===================引 用 kenny_yeh 文 章===================
careychen兄或各位先進您好:
小弟有個錯誤訊息,麻煩一下!!

技術資訊 (供技術支援人員使用)
錯誤類型:
Microsoft Jforbidden 執行階段錯誤 (0x800A138F)
必須要有物件
/Index.asp, line 118
瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Foxy/1; Foxy/1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
頁數:
POST 42 bytes to /Index.asp
POST Data:
Name=kenny&Password=k655714&Login=%B5n%A4J
請問一下該如何解決這個物件問題?(附上以下Code)

//記憶使用者輸入的資料,使用Cookies
//因為BrowSer與伺服器交換Cookies資料的時機需在伺服器尚未下載資料給BrowSer之前就進行交換
//否則會出現錯誤所以需設定啟動輸出暫存區(Buffer)
Response.Buffer=true;
//存放Cookies使用期限->Expiredate變數
var Expiredate=DateAdd("d",365,Date);   --------line 118    
//把MM_valUsername變數內的值存回cookies變數->Username
Response.Cookies("Username")=MM_valUsername; 
//設定Cookies物件的使用期限->一年內有效
Response.Cookies("Username").Expires=Formatdatetime(Expiredate);


------
價值的展現,來自於你用哪一個角度來看待它!!

系統時間:2010-09-03 19:10:21,  線上使用者 255 / Max 3,401,主題數:92,416,回覆數:208,133。  聯絡我們 | Delphi.ktop討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!

趴趴狗旅遊網大花蓮旅遊網大花蓮民宿網花蓮市旅遊網花蓮市民宿網大南投旅遊網大南投民宿網
日月潭風景區日月潭旅遊網日月潭民宿網台東旅遊網台東民宿網集集旅遊網集集民宿網
關子嶺旅遊網關子嶺民宿網白河旅遊網白河民宿網
. . . . . . . .