-1

我需要编写一个可以通过参数 POST 更新的简单网页:

  1. 使用参数向页面发送 POST 请求 - 将不断更新网页。
  2. 向页面发送 GET 请求将返回参数的最后检索值

例如(可能每个请求都是不同的会话):

POST /mypage.asp?param1=Hello

GET /mypage.asp  >>  Response: Hello

POST /mypage.asp?param1=Changed

GET /mypage.asp  >>  Response: Changed
4

3 回答 3

0

使用 $_SESSION

session_start();

if($_SERVER['REQUEST_METHOD'] == "POST")
    $_SESSION['last_val'] = $_POST['some_val'];
}

if($_SERVER['REQUEST_METHOD'] == "GET")
    echo $_SESSION['last_val'];
}

了解有关会议的更多信息

于 2013-04-08T16:07:51.053 回答
0

Evan 的回答在概念上是正确的,但我认为他没有解决不同的会话,也没有使用“经典 ASP”(vbscript 或 jscript)。

要在会话和请求之间保留一个值,您需要某种形式的存储。可能最简单的选项是应用程序变量(我在下面显示)。其他选项是“线程安全”存储,如广泛可用的 CAPROCK DICTIONARY 或数据库。

编码:

<%@ Language="VBScript" %> 
<% 
If Request.ServerVariables("REQUEST_METHOD")= "POST" Then
 Application.Lock  
 Application("StoredValue") = Request.Form("param1") 
 Application.Unlock  
Else
 Application.Lock  
 Response.Write Application("StoredValue") 
 Application.Unlock
End If
%>  
于 2013-04-12T02:52:06.077 回答
0
<%
dim fileSystemObject,Text_File,Text_File_Content,NewValue

NewValue=Request.QueryString("MyParam")
set fileSystemObject=Server.CreateObject("Scripting.FileSystemObject")

If NewValue <> "" Then
    set Text_File=fileSystemObject.CreateTextFile("C:\MyPath\myTextFile.txt")
    Text_File.write(NewValue)
    Text_File.close
End If

if fileSystemObject.FileExists("C:\MyPath\myTextFile.txt")=true then
    set Text_File=fileSystemObject.OpenTextFile("C:\MyPath\myTextFile.txt",1,false)
    Text_File_Content=Text_File.ReadAll
    Text_File.close
else
    set Text_File=fileSystemObject.CreateTextFile("C:\MyPath\myTextFile.txt")
    Text_File.write("Please send GET request to this page with paramter MyParam!")
    Text_File.close
    set Text_File=fileSystemObject.OpenTextFile("C:\MyPath\myTextFile.txt",1,false)
    Text_File_Content=Text_File.ReadAll
    Text_File.close
end if

Response.Write(Text_File_Content)
%>
于 2013-04-14T07:06:41.080 回答