当前位置: 首页 > 图文教程 > 网络编程 > PHP > php中两个网页之间的变量传送

PHP
工作笔记:配置MySQL为高可用集群 (1)
MySQL (C API)VC实例及代码下载 (1)(5)
MySQL (C API)VC实例及代码下载 (1)(4)
MySQL (C API)VC实例及代码下载 (1)(3)
MySQL (C API)VC实例及代码下载 (1)(2)
MySQL (C API)VC实例及代码下载 (1)
用JSP连接mysql数据库的方法 (1)(2)
用JSP连接mysql数据库的方法 (1)
MySQL数据库账户授权的相关管理解析 (1)(2)
MySQL数据库账户授权的相关管理解析 (1)
SAP MaxDB MySQL修补数据库严重漏洞
MySQL研发中心成立发布会会后访问整理 (1)(2)
MySQL研发中心成立发布会会后访问整理 (1)
MySQL中SQL-TEXT、DATE和SET数据类型
MySQL存在权限提升及安全限制绕过漏洞
MySQL 卸载的问题
windows下安装、卸载mysql服务
如何正确卸载MySQL
MySQL手册版本 5.0.20-MySQL优化(四) (1)(5)
MySQL手册版本 5.0.20-MySQL优化(四) (1)(4)

PHP 中的 php中两个网页之间的变量传送


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

作者: 豆牙齿

在网站设计中,我们常常用到用户登陆这一方法,在登陆后,一般的网站都会根据不同的用户来给定不同的页面,在链接到该站的一个新的网页或者打开一张新网页时,我们也会看到用户的信息能够被记住,现在尤其常用的是,登陆后链接或打开该站的其它网页都会看到诸如"XXX,晚上好"之类

的问候语,这些当然都是在登陆后变量传送的结果,在我做个人主页的过程中,曾尝试几种变量传送的方法,现写出来与大家探讨一下。
一、这是最笨的方法,也是我最初没有接触session、cookie想出来的方法。这种方法就是把待传递的变量用表单的方式再次传送,比如在用户登陆后,把他的信息如$username、$id等等信息用表单发送到下一张网页,当然,很多情况,是诸如text、option等等框体不想再被看到的话,可以采用隐藏的输入域。下面是一个实例,假设$username是经过上页为验证身份发送到本页并且在本页经过验证的变量,想传递到下一页中去,那么可以建立文件test4.php:
<?$username="张小明";?>
<form method="post" action="test5.php">
<input type="hidden" name="username" value="<?echo $username?>">
<input type="submit" name="submit" value="去我的空间看看">
</form>
建立test5.php:
<?echo "你好,$username,欢迎你的光临!";?>
打开apache服务器,输入http://127.0.0.1/test4.php在页面的按钮上点击,会发现新出的网页上$username的值已经传送过来了。
当然这种方法的弱点是很明显的,它还要再使用一个表单,而且在test5.php的网页上想要刷新的话还要重新发送,这显然是不太友好的。

二、使用session。后来,我查找了一些关于session的文章,觉得这时传递变量的一种非常好的方法。下面通过举例子来说明:
建立一个新文件test6.php:
<?session_start(); //初始化一个session
session_register("username"); //注册一个session变量
$username="张小明"; //要传递的变量值
echo "<a href=test7.php>去看看</a>";
?>
建立test7.php:
<?session_start(); //初始化一个session
echo "你好,$username,欢迎你的光临!";?>     //显示传递过来的变量
使用这种方法的时候要注意:<?session_start();?>应该放在文件的最前面,即"<?"前面不应有任何内容,包括空格,这是我调试多次未成功找出的原因。
这个变量只能在当前打开的浏览器中传递,若要在新打开的窗口中也能传递,刚要按下面的方法来做:
文件:test8.php
<?session_start();
session_register("username");
$username="张小明";
echo "<a href=test7.php?$a=".session_id()." target=_blank>去看看</a>";   //将当前的session的id值传给下一个窗口。
?>
文件test7.php
<?session_start();
echo "你好,$username,欢迎你的光临!";?>

三,通过cookie。还是通过例子说明:
建立文件test9.php
<?SetCookie("username","张小明");//把username设置到cookie中去
echo "<a href=test5.php target=_blank>去看看</a>";?>
文件test5.php
建立test5.php:
<?echo "你好,$username,欢迎你的光临!";?>

以上是我在设计网页及参考一些文章得出的方法,这里注重的时介绍传递方法,而不是session和cookie的介绍,两者具体的使用方法别的高手已经介绍多次,我就不在这里班门弄斧了。如果文章发表后我又发现错误的话,会在下面的"发表意见"栏中给出改正方法,谢谢浏览。