線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4188
推到 Plurk!
推到 Facebook!

請問一下這兩行程式是什麼意思?

答題得分者是: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
回覆:580
積分:959
註冊: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兄,

謝謝你!!

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

[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"))

是什麼意思?

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

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


發表:41
回覆:580
積分:959
註冊: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
回覆:580
積分:959
註冊: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 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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-07-28 10:12:23 IP:59.126.xxx.xxx 訂閱
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);

------
價值的展現,來自於你用哪一個角度來看待它!!
系統時間:2024-05-03 20:12:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!