当前位置: 首页 > 图文教程 > 网络编程 > PHP > 浅谈PHP语法(5)

PHP
PhpMyAdmin中无法导入sql文件的解决办法
PHP5.3.1 不再支持ISAPI
基于Windows下Apache PHP5.3.1安装教程
PHP 编程安全性小结
php正则判断中文字符
获取远程文件大小的php函数
PHP has encountered an Access Violation 错误的解决方法
PHP教程:COOKIE与SESSION联合实现跨域
PHP代码实例:图片转成HTML
PHP教程:PHP不能读取MS SQL数据表
Web开发帮助:学习http headers的方方面
cURL库的强大功能和灵活的扩展性
PHP教程:PHP的目录操作和文件操作
Fedora 12服务器上安装Apache2+PHP+MySQL
PHP开发网站常用的21种功能的代码汇总
php的curl获取有301/302跳转文件出错问题解决
难道研究PHP的人都是傻瓜吗?
WEB开发非常有用的9个PHP类库
PHP代码实例:常用的PHP分页类
PHP教程:foreach使用引用注意的问题

浅谈PHP语法(5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 38 ::
收藏到网摘: n/a

上文中曾提到了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.php的处理结果为:

你说好吗?

很明显,$start没有传给deal-2.php。但是,我们又怎样延长$start的生命周期呢?其实,这很简单,使用参数传递的方法就行了。

 

我们可以把deal-1.php改成这样:
<?php
echo "<html><body>";
echo "你喜欢$start,对吗?lt;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来实现,这里不加多述,在以后的文章中你会见到它们的用法。