HTML中表单method的get方式和post方式

      在B/S应用程序中,前台与后台的数据交互,都是通过HTMLform表单完成的。form提供了两种数据传输的方式:getpost,用个“登录”这个例子来简单理解二者提交和获取方式的不同。

提交

HTML中写post方式提交




    
    登录
    


    
    
用户名:
密 码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;


namespace LoginTest
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            //定义两个变量,获取从表单上提交的用户名和密码
            string userName = Request.Form["userName"].ToString();
            string userPwd = Request.Form.Get("userPwd").ToString();

           //连接数据库
            SqlConnection con = new SqlConnection("Server=.;database=login;uid=sa;pwd=123456");
            con.Open();

            //用一个命令对象去查找数据库中这个用户是否存在
            SqlCommand cmd = new SqlCommand("select count(*) from login where userName='" + userName + " 'and userPwd='" + userPwd + "' ", con);


            //判断用户是否存在
            int count = Convert.ToInt32(cmd.ExecuteScalar());
            if (count > 0)
            {
                //用户存在
                Response.Redirect("main.aspx?userName=" + userName);   //get提交
                //Response.Redirect("main.aspx");  //post提交
            }
            else
            {
                //用户不存在
                Response.Redirect("loginFail.html");
            }
        }
    }
}

获取

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;


namespace LoginTest

{

    public partial class main : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            //get提交,获取用户名的方法

            string userName = Request.QueryString["userName"].ToString();          

            //由服务器端向客户端书写

            Response.Write("欢迎" + userName + "光临天猫购物");  //get提交所用的获取方法


           // Response.Write("欢迎光临天猫购物");   //post提交所用的获取方法

        }

    }

}

 

get提交的时候,它的变量和值都会在地址栏里显示出来,它的安全性有一定的影响。从一个页面到另一个页面传参的时候,可以使用get方法,速度更快些。

                HTML中表单method的get方式和post方式_第1张图片


总结

1get是用来从服务器上获得数据,而post是用来向服务器上传递数据。

2get在传输过程,表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,数据被放在请求的URL中,服务器会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。而post是将表单中的数据放在form的数据体中,其所有操作对用户来说都是不可见的。

                                       HTML中表单method的get方式和post方式_第2张图片

      总之,个人对于getpost的理解,最大的不同就是一个用于获取数据,一个用于修改数据。

你可能感兴趣的:(HTML中表单method的get方式和post方式)