1、页面中传值(Get与Post、Session、Cookie、QueryString、Application、Server.Transfer)
A、Get与Post
异同:
一:Get为默认请求(用的网页默认编码)可能产生乱码,而Post(通过<Meta>标签自定义编码)不会产生乱码
二:Get在传递参数时会显示在地址栏,而Post不会
三:Get是从服务器上获取数据,post是向服务器以按钮的形式发送数据
四:Get最大长度为1024KB,而Post则没有
五:Get没有Post安全
如何使用:
在HTML中指定Action 与 Method属性
Action:指定页面的提交地址,可以是绝对地址或是相对地址(推荐)
Method:指定提交方式,有Get、Post两种,Get为默认
注:在PHP中获取Get、Post提交的数据方法:
Get数据:$_GET["属性名"];
Post数据:$_POST["属性名"]
获取所有请求的值:$_REQUEST["属性名"],该方法不区分Get与Post
Asp.net中获取Get与Post的值:
Get形式:Response.Write(Request.QueryString["ID"].toString());
post形式:Response.Write(Request.Form["TextBox"].ToString());
QueryString:
a、用法:用来获取客户端以Get提交的表单数据(Get为默认提交方式)
ex:Rrquest.QueryString("UserName") '获取提交表单中的用户名
注:但表单用 Method属性设置为“Post”时,我们就用 Form获取值
ex:<Form Runat= "Server" Method = "Post"></Form>
Request.Form("UserName")
Params属性不区分Get与Post的提交方式,避免弄错我们可以用Params
ex:Request.Params("UserName")
Application:
a、含义:用来记录整个网站的信息以及不同浏览器端共享的变量
例如:上站人数、在线数、意见调查、投票统计等
Application默认的生命周期起始于Web服务器开始,终止于Web服务器关机或重启
b、应用:计数器(统计网站访问人数)
ex:<Script language="VB" runat="Server">
Sub Page_Load(Sender as Object,e as Eventargs)
Application.Set("Counter",Application("Counter")+1)
myCounter.Text = "您是第" & Application("Counter") & "位访客"
End Sub
</Script>
B、PHP篇:(Session、Cookie)
PHP中的Session会话:
a、Session的特点:
Session会话保存于服务器,同时在客户端中生成一个相对应的SessionID(具有唯一性、随机性
当未设置SessionID的生命周期时它保存于客户端的内存中,设置了生命周期后它就保存于客户端的硬盘中)
b、启用Session会话:
Session_Start();
c、设置属性和值:
$_SESSION["属性名"] = "值";
d、读取值:
$_SESSION["属性名"]
e、关闭会话:
Session_destroy(); //释放内存中的所有Session变量,但不删除Session文件和释放对应的SessionID
Session_Unset(); //删除用户的Session文件,释放SessionID,变量依然保留
注:关闭Session的原则:
先Session_unset()后Session_Destroy();
每次调用Session时,一定要先启用Session会话;
PHP中的Cookie会话:
a、Cookie特点:
Cookie保存在客户端,当关闭浏览器时会自动销毁
b、启用Cookie会话:
SetCookie("名称","值",time() + N); //N为生命周期,以秒为单位
c、查找Cookie:
$_COOKIE["名称"];
d、设置Cookie过期:
SetCookie("名称","",time() - N); //N为过期时间,要大于设置时的时间
注:Session与Cookie会话的区别:
a、Session会话保存于服务器,而Cookie保存在客户端
b、Session对服务器的消耗大,能过保存数组、对象多种数据类型
c、Session不稳定易丢失
d、Cookie易被禁用、只能保存日期、数值、字符串等简单的数据类型
e、Cookie稳定、消耗小
f、他们都保存于同一文件下(C:\Documents and Settings\Administrator)
C、ASP.Net篇:(Session、Cookie)
Session 会话
a、定义或设置Session:
Session["名称"] = 值;
Session.Add("名称","值");
b、设置生命周期:
Session.TimeOut = 1;(单位,分钟)
注:系统默认的Session 与 Cookie生命周期为20分钟
c、读取值:
Response.Write(Session["名称"].ToString());
Response.Write(Session.SessionID);
d、清空会话:
//清空
Sesssion.TimeOut = 0;
Session.Clear();
Session.Remove All();
//取消
Session.Abandon();
Cookie 会话
a、定义Cookie
Response.Cookie["名称"].Value = "值";
httpCookie cookie = new HttpCookie("名称","值");
Response.Cookies.Add(cookie);
b、设置生命周期
Cookie.Expires = DateTime.Now.AddDays(1);//设置为一天
Response.Cookies["名称"].Expires = DateTime.Now.AddHours(1);//设置为一小时
c、读取值
Response.Write(Request.Cookies["名称"].Value);
注:设置Cookie 用Response,读取用Request
d、取消会话
Response.Cookies["名称"].Expires = DateTime.Now.AddYears(-1);
D、VB.NET篇(Session、Cookie,其实他与C#中的比较相同,有些属性是通用的)
Cookie会话:
a、设置Cookie:
Response.Cookies.Item("Cookie名称").Values("子健名称") = "值"
ex: '定义一个名称为“myCookie”,子健为“UserName”、“PassWord”子健值分别为“天夜”、“welcome”的Cookie
Response.Cookies.Item("myCookie").Values("UserName") = "天夜"
Response.Cookies.Item("myCookie").Values("PassWord") = "welcome"
b、设置Cookie的生命周期:
Response.Cookies.Item("myCookie").Expires = DateTime.Now.AddDays(7) '生命周期为今天开始的七天时间
c、读取Cookie的值:
Response.Write("用户名:" & Request.Cookies("myCookie").Values("UserName"))
Response.Write("密&bnsp;码:" & Request.Cookies("myCookie").Values("PassWord"))
注:Cookie文件保存于 C:\Documents and Settings\Administrator\Cookies
Session会话:
a、设置Session
Session("Session名称") = "值"
Session.Add("名称","值")
b、周期
Session.TimeOut = 60(单位,分钟)
c、读取
Response.Write(Session("名称").ToString());
Response.Write(Session.SessionID);
d、清空会话:
//清空
Sesssion.TimeOut = 0;
Session.Clear();
Session.Remove All();
//取消(手动结束)
Session.Abandon();
注:防止通过刷新按钮来刷新访客人数
ex:为了以后重复使用我们将计数器程序保存为<CounterFunction.inc>
'引用空间
<%@ Import Namespace ="System" %>
<%@ Import Namespace ="System.IO" %>
<Script language="VB" Runat="Server">
Function Counter(CounterFile as String) as Long
'从文件读取计数器数值
Dim objReader as New StreamReader(Server.MapPath(ConterFile))
Counter = objReader.ReadLine()
ogjReader.Close()
'判断是否为新建Session对象,是将变量加1,写入文件
If Session.IsNewSession = True Then
Counter += 1
Dim objWriter as New StreamWriter(Server.MapPath(CounterFile),Fasle)
obgWriter.WriteLine(Counter)
objWriter.Close()
End If
End Function
'此函数将计数器转换为图形计数器
Function Img(Counter as String) as String
Dim I as Byte
For I = 1 to Len(Counter)
Img = Img & "<img Src=digit" & Mdi(Counter,I,1) & ".gif"
Next
End Function
End Sub
</Script>
调用:
<!-- #include File="CounterFunction.inc"-->
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender as Object,e as Eventargs)
myCounter.Text = "您是第" & Counter("Counter.text") & "位访客"
End Sub
</Script>
2、页面之间的跳转:
Js形式:(常用)
a、Window.Open("地址"); //打开新窗口,并跳转到指定页面
b、location.href ="地址";
location.href("地址"); //在当前页面跳转
c、<Body Onload = "地址"></Body>
PHP形式:
header(location:地址);
注:在PHP中嵌入Js的方法(PHP输出值,echo和print)
echo:"<Script language = \"javaScript\" type = \"text/javaScript\">";
echo:"内容(location.href('xxxx'))";
echo:"</Script>"
Asp.net形式:
a、Response.Redirect("地址"); //速度慢,有两次PostBack,可以跳转到任何地方
b、Server.transter("地址"); //速度快,只有一次PostBack,只能在同一站点跳转
c、Server.Execute("地址"); //一般用于页面的引用,将要跳转的页面引用到当前页面
3、页面中对话框的弹出:
JS形式(基本的):
a、alert(""); //该对话框只有一个【确定】按钮
b、confirm(""); //该对话框有一个【确定】和一个【取消】按钮
Asp.net形式:
a、Response.Write("<Script>alert('');<Script/>");
b、Response.Write("<Script>confirm('');<Script/>");
c、ClientScript.RegisterClientScriptBlock(GetType(),"","<Script>alert('');<Script/>");
A、Get与Post
异同:
一:Get为默认请求(用的网页默认编码)可能产生乱码,而Post(通过<Meta>标签自定义编码)不会产生乱码
二:Get在传递参数时会显示在地址栏,而Post不会
三:Get是从服务器上获取数据,post是向服务器以按钮的形式发送数据
四:Get最大长度为1024KB,而Post则没有
五:Get没有Post安全
如何使用:
在HTML中指定Action 与 Method属性
Action:指定页面的提交地址,可以是绝对地址或是相对地址(推荐)
Method:指定提交方式,有Get、Post两种,Get为默认
注:在PHP中获取Get、Post提交的数据方法:
Get数据:$_GET["属性名"];
Post数据:$_POST["属性名"]
获取所有请求的值:$_REQUEST["属性名"],该方法不区分Get与Post
Asp.net中获取Get与Post的值:
Get形式:Response.Write(Request.QueryString["ID"].toString());
post形式:Response.Write(Request.Form["TextBox"].ToString());
QueryString:
a、用法:用来获取客户端以Get提交的表单数据(Get为默认提交方式)
ex:Rrquest.QueryString("UserName") '获取提交表单中的用户名
注:但表单用 Method属性设置为“Post”时,我们就用 Form获取值
ex:<Form Runat= "Server" Method = "Post"></Form>
Request.Form("UserName")
Params属性不区分Get与Post的提交方式,避免弄错我们可以用Params
ex:Request.Params("UserName")
Application:
a、含义:用来记录整个网站的信息以及不同浏览器端共享的变量
例如:上站人数、在线数、意见调查、投票统计等
Application默认的生命周期起始于Web服务器开始,终止于Web服务器关机或重启
b、应用:计数器(统计网站访问人数)
ex:<Script language="VB" runat="Server">
Sub Page_Load(Sender as Object,e as Eventargs)
Application.Set("Counter",Application("Counter")+1)
myCounter.Text = "您是第" & Application("Counter") & "位访客"
End Sub
</Script>
B、PHP篇:(Session、Cookie)
PHP中的Session会话:
a、Session的特点:
Session会话保存于服务器,同时在客户端中生成一个相对应的SessionID(具有唯一性、随机性
当未设置SessionID的生命周期时它保存于客户端的内存中,设置了生命周期后它就保存于客户端的硬盘中)
b、启用Session会话:
Session_Start();
c、设置属性和值:
$_SESSION["属性名"] = "值";
d、读取值:
$_SESSION["属性名"]
e、关闭会话:
Session_destroy(); //释放内存中的所有Session变量,但不删除Session文件和释放对应的SessionID
Session_Unset(); //删除用户的Session文件,释放SessionID,变量依然保留
注:关闭Session的原则:
先Session_unset()后Session_Destroy();
每次调用Session时,一定要先启用Session会话;
PHP中的Cookie会话:
a、Cookie特点:
Cookie保存在客户端,当关闭浏览器时会自动销毁
b、启用Cookie会话:
SetCookie("名称","值",time() + N); //N为生命周期,以秒为单位
c、查找Cookie:
$_COOKIE["名称"];
d、设置Cookie过期:
SetCookie("名称","",time() - N); //N为过期时间,要大于设置时的时间
注:Session与Cookie会话的区别:
a、Session会话保存于服务器,而Cookie保存在客户端
b、Session对服务器的消耗大,能过保存数组、对象多种数据类型
c、Session不稳定易丢失
d、Cookie易被禁用、只能保存日期、数值、字符串等简单的数据类型
e、Cookie稳定、消耗小
f、他们都保存于同一文件下(C:\Documents and Settings\Administrator)
C、ASP.Net篇:(Session、Cookie)
Session 会话
a、定义或设置Session:
Session["名称"] = 值;
Session.Add("名称","值");
b、设置生命周期:
Session.TimeOut = 1;(单位,分钟)
注:系统默认的Session 与 Cookie生命周期为20分钟
c、读取值:
Response.Write(Session["名称"].ToString());
Response.Write(Session.SessionID);
d、清空会话:
//清空
Sesssion.TimeOut = 0;
Session.Clear();
Session.Remove All();
//取消
Session.Abandon();
Cookie 会话
a、定义Cookie
Response.Cookie["名称"].Value = "值";
httpCookie cookie = new HttpCookie("名称","值");
Response.Cookies.Add(cookie);
b、设置生命周期
Cookie.Expires = DateTime.Now.AddDays(1);//设置为一天
Response.Cookies["名称"].Expires = DateTime.Now.AddHours(1);//设置为一小时
c、读取值
Response.Write(Request.Cookies["名称"].Value);
注:设置Cookie 用Response,读取用Request
d、取消会话
Response.Cookies["名称"].Expires = DateTime.Now.AddYears(-1);
D、VB.NET篇(Session、Cookie,其实他与C#中的比较相同,有些属性是通用的)
Cookie会话:
a、设置Cookie:
Response.Cookies.Item("Cookie名称").Values("子健名称") = "值"
ex: '定义一个名称为“myCookie”,子健为“UserName”、“PassWord”子健值分别为“天夜”、“welcome”的Cookie
Response.Cookies.Item("myCookie").Values("UserName") = "天夜"
Response.Cookies.Item("myCookie").Values("PassWord") = "welcome"
b、设置Cookie的生命周期:
Response.Cookies.Item("myCookie").Expires = DateTime.Now.AddDays(7) '生命周期为今天开始的七天时间
c、读取Cookie的值:
Response.Write("用户名:" & Request.Cookies("myCookie").Values("UserName"))
Response.Write("密&bnsp;码:" & Request.Cookies("myCookie").Values("PassWord"))
注:Cookie文件保存于 C:\Documents and Settings\Administrator\Cookies
Session会话:
a、设置Session
Session("Session名称") = "值"
Session.Add("名称","值")
b、周期
Session.TimeOut = 60(单位,分钟)
c、读取
Response.Write(Session("名称").ToString());
Response.Write(Session.SessionID);
d、清空会话:
//清空
Sesssion.TimeOut = 0;
Session.Clear();
Session.Remove All();
//取消(手动结束)
Session.Abandon();
注:防止通过刷新按钮来刷新访客人数
ex:为了以后重复使用我们将计数器程序保存为<CounterFunction.inc>
'引用空间
<%@ Import Namespace ="System" %>
<%@ Import Namespace ="System.IO" %>
<Script language="VB" Runat="Server">
Function Counter(CounterFile as String) as Long
'从文件读取计数器数值
Dim objReader as New StreamReader(Server.MapPath(ConterFile))
Counter = objReader.ReadLine()
ogjReader.Close()
'判断是否为新建Session对象,是将变量加1,写入文件
If Session.IsNewSession = True Then
Counter += 1
Dim objWriter as New StreamWriter(Server.MapPath(CounterFile),Fasle)
obgWriter.WriteLine(Counter)
objWriter.Close()
End If
End Function
'此函数将计数器转换为图形计数器
Function Img(Counter as String) as String
Dim I as Byte
For I = 1 to Len(Counter)
Img = Img & "<img Src=digit" & Mdi(Counter,I,1) & ".gif"
Next
End Function
End Sub
</Script>
调用:
<!-- #include File="CounterFunction.inc"-->
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender as Object,e as Eventargs)
myCounter.Text = "您是第" & Counter("Counter.text") & "位访客"
End Sub
</Script>
2、页面之间的跳转:
Js形式:(常用)
a、Window.Open("地址"); //打开新窗口,并跳转到指定页面
b、location.href ="地址";
location.href("地址"); //在当前页面跳转
c、<Body Onload = "地址"></Body>
PHP形式:
header(location:地址);
注:在PHP中嵌入Js的方法(PHP输出值,echo和print)
echo:"<Script language = \"javaScript\" type = \"text/javaScript\">";
echo:"内容(location.href('xxxx'))";
echo:"</Script>"
Asp.net形式:
a、Response.Redirect("地址"); //速度慢,有两次PostBack,可以跳转到任何地方
b、Server.transter("地址"); //速度快,只有一次PostBack,只能在同一站点跳转
c、Server.Execute("地址"); //一般用于页面的引用,将要跳转的页面引用到当前页面
3、页面中对话框的弹出:
JS形式(基本的):
a、alert(""); //该对话框只有一个【确定】按钮
b、confirm(""); //该对话框有一个【确定】和一个【取消】按钮
Asp.net形式:
a、Response.Write("<Script>alert('');<Script/>");
b、Response.Write("<Script>confirm('');<Script/>");
c、ClientScript.RegisterClientScriptBlock(GetType(),"","<Script>alert('');<Script/>");