如何在PHP中通过控件获取自己输入的值 10
如何在PHP中通过控件获取自己输入的值在PHP代码中直接嵌入html的表单和文本框控件。<formmethod=""action=""><inputtype="text"...
如何在PHP中通过控件获取自己输入的值在PHP代码中直接嵌入html的表单和文本框控件。<form method=" " action=" ">
<input type="text">
省略代码。
我的疑惑是在控件里输入了值,然后我怎么能存到我PHP定义的变量中去呢?是要用到action属性吗?谢谢各位 展开
<input type="text">
省略代码。
我的疑惑是在控件里输入了值,然后我怎么能存到我PHP定义的变量中去呢?是要用到action属性吗?谢谢各位 展开
2个回答
展开全部
如果题主了解web的工作原理,就不会问这种问题了。
一帮工作流程是,
1,客户端发送请求到服务端的某个地址,如http://www.baidu.com/sb.php
发送请求的方式一般分两种,GET和POST,两种方式不多做介绍了,题主自己百度吧,只说一下发送数据方式的区别。
GET方式,把客户端发送的数据放在请求地址的后面,已问号分割,就像这样
http://www.baidu.com/sb.php?sb=liyanhong&xx=xxx
这样,?后面就是你发送给服务端的数据。
而post方式,则是把提交的数据直接写入打开的http流中,地址栏中是看不到的,想要看的话,按F12打开浏览器调试,在网络请求中查看请求正文。不过这种方式发送的数据长度更大,毕竟地址栏长度有限。而且post方式可以发送二进制数据,实现文件上传功能,当然,GET方式也可以实现上传文件,不过很麻烦,要先把二进制数据通过base64运算变成字符串,放到请求地址后面,服务端脚本再base64逆运算,把字符串还原成二进制数据,进行存储。麻烦不说,还占资源,关键是之前说的,地址栏长度有限,大文件也上传无能。
2,服务端接收请求,并解析请求地址,如果是请求纯静态html文件,那么服务器读取html后将读取的数据返回给客户端。如果是访问动态脚本,服务器通过某种调用方式(如iis的fastcgi等)运行服务器端的脚本,如上面地址中的sb.php,,并将用户请求的数据传递给脚本,也就是问号后面的数据,之后sb.php根据用户请求数据运行某些程序代码,生成响应数据,返回给服务器,服务器再将这些数据返回给客户端。
3,客户端接收服务端返回的相应数据,并通过浏览器的html引擎解析html超文本成页面。
看了上面的,就应该了解表单的提交过程了,input里填写的数据,在提交的时候,和input的name一起发送给form的action地址,如input name="aaa",发送的时候,就是“aaa=文本框里填写的数据”。多个input,以“&”分割,如“aaa=xxx&bbb=xxxx”这样。所以,input一定要有name属性,不然服务端无法识别,题主你就没写,记得补上。浏览器会根据form的method属性值决定是采用GET方式还是POST方式。如果没有这个属性,默认应该是POST方式,题主你也没写,记得补上。
之后,服务器解析请求,将aaa=xxx&bbb=xxxx传递给请求的php文件,这时候,php脚本运行时就可以调用这个表单传递过来的数据了。实际上这时候,请求数据已经存放到一个php可以调用的数组中了。调用方式是$_REQUEST("aaa")和$_REQUEST("bbb")括号引号中间就是表单控件的name。不过通过$_REQUEST数组不区分POST,GET和COOKIE,所以占用资源而且效率低,最好的方法还是根据表单的请求方式来使用数组,如果表单是post方式,那就用$_POST数组,GET方式就用$_GET数组,如$_POST("aaa")和$_GET("aaa")。这样是最节省开销的方法。
写了这么多,如果题主认真看应该能明白了吧?看在我闲的蛋疼,全程手打的份上,采纳吧。
一帮工作流程是,
1,客户端发送请求到服务端的某个地址,如http://www.baidu.com/sb.php
发送请求的方式一般分两种,GET和POST,两种方式不多做介绍了,题主自己百度吧,只说一下发送数据方式的区别。
GET方式,把客户端发送的数据放在请求地址的后面,已问号分割,就像这样
http://www.baidu.com/sb.php?sb=liyanhong&xx=xxx
这样,?后面就是你发送给服务端的数据。
而post方式,则是把提交的数据直接写入打开的http流中,地址栏中是看不到的,想要看的话,按F12打开浏览器调试,在网络请求中查看请求正文。不过这种方式发送的数据长度更大,毕竟地址栏长度有限。而且post方式可以发送二进制数据,实现文件上传功能,当然,GET方式也可以实现上传文件,不过很麻烦,要先把二进制数据通过base64运算变成字符串,放到请求地址后面,服务端脚本再base64逆运算,把字符串还原成二进制数据,进行存储。麻烦不说,还占资源,关键是之前说的,地址栏长度有限,大文件也上传无能。
2,服务端接收请求,并解析请求地址,如果是请求纯静态html文件,那么服务器读取html后将读取的数据返回给客户端。如果是访问动态脚本,服务器通过某种调用方式(如iis的fastcgi等)运行服务器端的脚本,如上面地址中的sb.php,,并将用户请求的数据传递给脚本,也就是问号后面的数据,之后sb.php根据用户请求数据运行某些程序代码,生成响应数据,返回给服务器,服务器再将这些数据返回给客户端。
3,客户端接收服务端返回的相应数据,并通过浏览器的html引擎解析html超文本成页面。
看了上面的,就应该了解表单的提交过程了,input里填写的数据,在提交的时候,和input的name一起发送给form的action地址,如input name="aaa",发送的时候,就是“aaa=文本框里填写的数据”。多个input,以“&”分割,如“aaa=xxx&bbb=xxxx”这样。所以,input一定要有name属性,不然服务端无法识别,题主你就没写,记得补上。浏览器会根据form的method属性值决定是采用GET方式还是POST方式。如果没有这个属性,默认应该是POST方式,题主你也没写,记得补上。
之后,服务器解析请求,将aaa=xxx&bbb=xxxx传递给请求的php文件,这时候,php脚本运行时就可以调用这个表单传递过来的数据了。实际上这时候,请求数据已经存放到一个php可以调用的数组中了。调用方式是$_REQUEST("aaa")和$_REQUEST("bbb")括号引号中间就是表单控件的name。不过通过$_REQUEST数组不区分POST,GET和COOKIE,所以占用资源而且效率低,最好的方法还是根据表单的请求方式来使用数组,如果表单是post方式,那就用$_POST数组,GET方式就用$_GET数组,如$_POST("aaa")和$_GET("aaa")。这样是最节省开销的方法。
写了这么多,如果题主认真看应该能明白了吧?看在我闲的蛋疼,全程手打的份上,采纳吧。
展开全部
提交页面 form.html
<form action="test.php" method="post">
<input type="text" name="name" placeholder="请输入姓名">
<input type="submit" value="提交">
</form>
接收页面 test.php
<?php
//用$_POST接收form提交过来的值,[]中为input的name的值
if(isset($_POST['name']))
{
$a = $_POST['name'];
}
echo $a;
?>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询