1.数据传递
(1)客户端向服务器传递数据的方法:POST和GET
浏览器向服务器进行数据传送,若使用FORM,常用的传送数据的方法是GET和POST。
①GET方法通过URL请求来传递用户的输入,形式:URL?var_name1=value1&var_name2=value2,即将表单内各字段名称与其内容,以成对的字符串连接,置于表单ACTION 属性所指的URL 后,如http://211.64.32.2/login.php?name=abc&password=123,数据都会直接显示在 URL上,就像用户点击一个链接一样;POST 方法通过 HTTP POST 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由ACTION 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理。
②通过GET方法提交数据,可能会带来安全性的问题。比如一个登陆页面,当通过GET方法提交数据时,用户名和密码将出现在URL上。如果登陆页面可以被浏览器缓存或其他人可以访问客户的这台机器。那么,别人就可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,GET方法会带来严重的安全性问题。
③GET方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 POST 方法好;而POST 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。使用PHP,默认的POST_MAX_SIZE是2M(通过配置php.ini实现),如果你想利用POST方式上传软件,就需要更改这个值了(我设置为20M仍然能够正确上传文件),但是倘若试图使用GET方式,就没有可能实现这种功能。
建议在FORM中,使用POST方法。
下列情况表明传递数据使用的是GET方法:
? 在地址栏中进行GET请求
在地址栏中使用请求形式:URL?var_name1=value1&var_name2=value2……。
如http://nc.dzu.edu.cn/article/show.php?id=139(其中URL为http://nc.dzu.edu.cn/article/show.php),
作用:向URL所指向的程序文件show.php传递一个变量,变量名为id,变量值为139,该程序将从数据库中取出有关id为139的那条新闻的信息,表示成HTML代码后返回给请求者的浏览器。
在地址栏中进行GET请求的情况
? 单击了一个链接。
【例2-4】通过链接传递数据的HTML标记
2-4.htm源代码:
<A href="http://nc.dzu.edu.cn/article/show.php?id=139" >ASP,PHP,JSP之比较</A>
? 对FORM的METHOD属性,使用GET属性值
(2)小结
从PHP的角度看,浏览器向服务器传递数据:
使用表单对象时,$表单对象名=表单变量。
使用URL?参数名=参数值时,$参数名=查询字符串(querystring)变量。
如【例2-3】中,用户在文本字段textfield中输入的数据,发送到FORM的ACTION指向的服务器程序2-3.php后,2-3.php将接收到表单变量$textfield和该变量内的值。
当在超链接地址或地址栏采用URL?var_name1=value1&var_name2=value2……形式时,var_name1、var_name2等是查询字符串变量。
另外,一个服务器程序,也称页,对接收到的表单变量或查询字符串变量,都作为页内局部变量处理,本页程序执行完毕,这些变量统统自动释放,所以不能将这些变量传递到另外一个PHP程序中去,即不能跨页传递。就像接力棒比赛中,不能跨人传棒。
既然默认情况下,不能将x.php中的$a传到y.php,要想将x.php中的局部变量$a传到程序y.php,可借助于隐藏域:在x.php中用表单中的隐藏域,临时存储$a的值,然后提交表单到y.php,即可实现向y.php发送数据的目的。
具体做法一般是这样:
x.php:
…
<form action=”y.php” method=”post”>
<input type=”hidden” name=”a” value=”<? echo $a;?>”>
<input type=”submit” value=”提交”>
<input type=”reset” value=”重置”>
</form>
…
这时,从请求服务的角度来看,x.php就是客户端程序,y.php就是服务器程序了。
2.JavaScript嵌入HTML的方式
与C语言非常相似,但去掉了C语言中有关指针等容易产生的错误,并提供了功能强大的类库。对于已经具备C语言的人来说,学习JavaScript脚本语言是一件非常轻松愉快的事。
JavaScript的脚本包括在HTML中,它成为HTML文档的一部分。与HTML标识相结合,构成了一个功能强大的Internet网上编程语言。
(1)JavaScript嵌入HTML的方法
1)块嵌入:显式的JavaScript脚本块嵌入的方法
JavaScript块:
<Script Language ="JavaScript">
JavaScript语句1;
JavaScript语句2;
……
</Script>
说明: 通过脚本语言开始标记<Script>和脚本语言结束标记</Script>指明JavaScript脚本源代码块。
通过属性Language ="JavaScript"说明标记中是使用的何种语言,这里是JavaScript语言, 表示在JavaScript中使用的语言。
嵌入的地方:
? 嵌入<head>…</Head>中:在主页和其余部分代码之前装载,从而可使代码的功能更强大;
? 嵌入<Body>…</Body>中:以实现某些部分动态地创建文档。
下面是将JavaScript脚本块加入Web文档中的例子:
【例2-5】将JavaScript脚本块加入Web文档
2-5.htm源代码:
<HTML>
<Head>
<Script Language ="JavaScript">
document.write("hello,world");
//document.close();注释方式同C和PHP
</Script>
</Head>
</HTML>
在浏览器的窗口中调用2-5.htm,则显示“hello,world”字串。见图所示。
传智播客php培训,提供相关php教程