請問一下這兩行程式是什麼意思? |
答題得分者是:careychen
|
kenny_yeh
一般會員 發表:8 回覆:8 積分:3 註冊:2008-03-05 發送簡訊給我 |
|
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
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 發送簡訊給我 |
careychen兄,
謝謝你!! 另有一個問題不知可否請教一下? [code php] <% var MM_LoginAction = Request.ServerVariables("URL"); if (Request.QueryString!="") MM_LoginAction = "?" Server.HTMLEncode(Request.QueryString); var MM_valUsername=String(Request.Form("Name")); if (MM_valUsername != "undefined") { var MM_fldUserAuthorization=""; //這個變數如何才不會為""?????????????????????? var MM_redirectLoginSuccess="/DataBase.asp"; var MM_redirectLoginFailed="/Login-Fail.asp"; var MM_flag="ADODB.Recordset"; var MM_rsUser = Server.CreateObject(MM_flag); MM_rsUser.ActiveConnection = MM_LinkDB_STRING; MM_rsUser.Source = "SELECT Name, Password"; 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, "''") "'"; MM_rsUser.CursorType = 0; MM_rsUser.CursorLocation = 2; MM_rsUser.LockType = 3; MM_rsUser.Open(); if (!MM_rsUser.EOF || !MM_rsUser.BOF) { // username and password match - this is a valid user Session("MM_Username") = MM_valUsername; //判斷MM_fldUserAuthorization是否為"" if (MM_fldUserAuthorization != "") { Session("MM_UserAuthorization") = String(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value); } else { //有將UserAcount的值存入???????????? Session("MM_UserAuthorization") = ""; //沒有清空 }//if (MM_fldUserAuthorization != "") //??????????????? if (String(Request.QueryString("accessdenied")) != "undefined" && false) { MM_redirectLoginSuccess = Request.QueryString("accessdenied"); }//if (String(Request.QueryString("accessdenied")) MM_rsUser.Close(); //Response.Redirect()方法可轉向其他網頁或網址->自動鏈結, 但它只能用在尚未有任何資料輸出至瀏覽器之前才可呼叫 Response.Redirect(MM_redirectLoginSuccess); }//if (!MM_rsUser.EOF || !MM_rsUser.BOF) MM_rsUser.Close(); Response.Redirect(MM_redirectLoginFailed); }//if (MM_valUsername != "undefined") %> [/code] 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")) 是什麼意思? 麻煩你羅!! 我爬文爬了許久仍找不到答案. 謝啦!
------
對權威愚忠就是真理最大的敵人!! |
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
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 發送簡訊給我 |
careychen兄,
謝謝你!! 針對上面這點: 1.上面的Code中的MM_fldUserAuthorization變數,不知誰會改變其值?(很多if都是用這個變數) 看來是用來定義,如果我把 MM_fldUserAuthorization 改變內容時,則會多讀出一個授權的資料, 所以【現在】是設空值,所以不會讀出授權的資料 你如何去將MM_fldUserAuthorization 改變內容? 如何去讀出一個授權的資料? 另那個授權的資料是怎麼樣的? 是不是有什麼工具可用? 謝謝!!
------
對權威愚忠就是真理最大的敵人!! |
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
===================引 用 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 發送簡訊給我 |
|
kenny_yeh
一般會員 發表:8 回覆:8 積分:3 註冊:2008-03-05 發送簡訊給我 |
careychen兄或各位先進您好:
小弟有個錯誤訊息,麻煩一下!! 技術資訊 (供技術支援人員使用) 錯誤類型: Microsoft JScript 執行階段錯誤 (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=µn¤J 請問一下該如何解決這個物件問題?(附上以下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 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
HI Kenny_Yeh 兄,請注意討論版的規定哦,請勿一版多問,
請重新另發一篇新的文章唷~~~!!! 那這個問題我就不清楚了,之前的問題是就程式的部份跟你聊聊的 至於你現在提的問題,我倒覺得不是在那一行咧~~,因為那一行不會有物件的問題 建立你再找找!! ===================引 用 kenny_yeh 文 章=================== careychen兄或各位先進您好: 小弟有個錯誤訊息,麻煩一下!! 技術資訊 (供技術支援人員使用) 錯誤類型: Microsoft JScript 執行階段錯誤 (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=µn¤J 請問一下該如何解決這個物件問題?(附上以下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);
------
價值的展現,來自於你用哪一個角度來看待它!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |