質問
このコードをASPページ内で機能させようとしています。ユーザーがOnClickボタンをクリックすると、このページに移動し、そのユーザーのユーザー名とコードを実行した時間を保存するファイルが作成されます。これまでのところ、このコードを実行すると、" userinfo.flag"が作成されます。ファイルが、ユーザーのデータをキャプチャしません。基本的に、ユーザーデータを正しく取得していません。
<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set NewTextFile = FSO.OpenTextFile(server.mappath("UserInfo.flag"),2,true)
Set WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "User Name = " & WshNetwork.UserName
NewTextFile.WriteLine("user:")
NewTextFile.WriteLine(WshNetwork.userName)
NewTextFile.WriteLine(Now)
NewTextFile.Close
Set NewTextFile = Nothing
Set FSO = Nothing
%>
<HTML>
<HEAD>
<TITLE>TEST PAGE</TITLE>
</HEAD>
</HTML>
解決
.asp環境で作業する場合、.vbs環境と同じグローバル変数をすべて使用できるわけではありません。以下にいくつかを示します。
- WshNetworkオブジェクトを使用してユーザーに関する情報を検索しないでください。その情報(ユーザーが認証されている場合)は
Request.ServerVariables [&quot; AUTH_USER&quot;]
で入手できます。
-
WScript.Echo
の代わりに
Response.Write
を使用します
これにより、ユーザー情報が正しく取得されます。
所属していません StackOverflow