• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

浅谈PHP语法(三)

发布: 2007-5-17 15:14 | 作者: 华红狼 来源:奥索网 | 来源: 奥索网 | 查看: 8次 | 进入软件测试时代论坛讨论

软件测试时代

上文中曾提到了PHP提交表单信息是很方便的。可是,提交的表单信息中的变量的生命周期是多长呢?本文就来崐谈谈这个问题。

  表单的参数会传给下一个处理程序,这是不用置疑的。因为,我们曾有过这样的例子。可它还会继续传给下一个处理程序吗?

  答案是否定的!一个Form表单所提交的参数只传给第一个处理程序,而下一个处理程序中它是不会起作用的。来看看下例吧:

文件:table.html
<html>
<head><title>表单提交</title>
</head>
<body>
<form action=\"deal-1.php\">
输入你认为好的歌星:<input type=\"text\" name=\"start\" size=20 >
<input type=\"submit\" value=\"是他了,送出吧\">
</form>
</body>
</html>

文件:deal-1.php
<?php
echo \"<html><body>\";
echo \"你喜欢$start,对吗?<br>\";
echo \"<a href=\\"deal-2.php\\">试试是否会再传下去</a>\";
echo \"</body></html>\";
?>

文件:deal-2.php
<?php
echo \"<html><body>\";
echo \"你说$start好吗?\";
echo \"</body></html>\";
?>
  

 从上例中,我们可以看见:deal-1.php处理的结果为(假定我们在table.html中输入的是“张学友”):

你喜欢张学友,对吗?
试试是否会再传下去

  说明表单提交了变量$start给deal-1.php,而在deal-1.php的显示结果中,若我们点击了链接“试试是否会再传下去”之后,deal-2.ph崐p的处理结果为:

你说好吗?

  很明显,$start没有传给deal-2.php。但是,我们又怎样延长$start的生命周期呢?其实,这很简单,使用参数传递的方法就行了。如崐下,我们可以把deal-1.php改成这样:
<?php
echo \"<html><body>\";
echo \"你喜欢$start,对吗?<br>\";
echo \"<a href=\\"deal-2.php?start=$start\\">试试是否会再传下去</a>\";
echo \"</body></html>\";
?>

  分晰程序,你会发现只是在deal-1.php后加了一句“?start=$start”就行了,而这起的作用就是参数传递。如:http://zhuagk12.oso.崐com.cn/cartoon.php?no=1 其?后的为参数,no为参数名,其值为1。这样,会在cartoon.php程序中产生变量$no,其值为1。若传两个以上崐参数,其间用&分隔。如:http://zhuagk12.oso.com.cn/cartoon.php?no=2&debug=1
  为了延长参数的生命周期,我们还可以使用Cookie或Session来实现,这里不加多述,在以后的文章中你会见到它们的用法。

 

文章来源于软件测试时代 http://www.testage.net/


软件测试时代开课信息
Google
关于我们 | 合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2007 TestAge(测试时代) 北京慧灵科技有限公司 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备05002925号
技术支持和业务联系:info@testage.com.cn 电话:010-51297073