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

2016-01-29 13:36 10 1 收藏

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

【 tulaoshi.com - PHP 】

作者: 豆牙齿

在网站设计中,我们常常用到用户登陆这一方法,在登陆后,一般的网站都会根据不同的用户来给定不同的页面,在链接到该站的一个新的网页或者打开一张新网页时,我们也会看到用户的信息能够被记住,现在尤其常用的是,登陆后链接或打开该站的其它网页都会看到诸如"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的介绍,两者具体的使用方法别的高手已经介绍多次,我就不在这里班门弄斧了。如果文章发表后我又发现错误的话,会在下面的"发表意见"栏中给出改正方法,谢谢浏览。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

来源:http://www.tulaoshi.com/n/20160129/1490804.html

延伸阅读
标签: PHP
  //在PHP中处理日期非常不方便,比如求两个日期之间相差的月份?该怎么办呢?  //文件名:date.inc.php3  //在使用这两个函数前,要先将日期或日期时间转换成timestamp类型。  //如:  //$today=mktime(0,0,0,date("m"),date("d"),date("Y"));  /****模拟sqlserver中的dateadd...
宝宝反抗期 家长怎么办      宝宝 反抗期 家长怎么办? 宝宝反抗需正确对待 宝宝在两岁半到四岁的时候,就会开始最初的反抗行为。有了自己的想法和意愿,喜欢自己的事情自己的做,不希望别人干涉自己,要是一旦遭到干涉的话,就会用各种方式来反抗。此时,父母不要把宝宝的反抗看做是反叛,因为这个阶段的宝...
主要思路: 对于任意2个日期比如:date_start=2006-10-1、date_end=2006-10-14 ,首先计算这连个日期之间的时间间隔(天数),然后分别对date_start 和date_end 取得它们下一个星期一的日期,这样就可以得到一个新的可以整除7的完整日期间隔(这个新的日期间隔已经把星期几的问题剔出掉了),换一种说法就是我们可以得到,这两个新的日期之...
标签: excel
Excel2013,计算两个日期之间工作日的天数   想知道自己在公司工作了多少天吗?在Excel中,输入起始日期和终止日期,然后用一个NETWORKDAYS函数就能轻松搞定啦!一起来看看具体做法吧。 详细操作步骤 用Excel2013打开一篇有两个日期的工作表,例如,我们现在要计算A列和B列日期之间的工作日的天数,那么,在C2单元格输入函数=...
标签: PHP
一、Web服务器安全 PHP 其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽。PHP可以和各种Web服务器结合,这里也只讨论Apache。非常建议以chroot方式安装启动Apache,这样即使Apache和PHP及其脚本出现 漏洞 ,受影响的也只有这个...

经验教程

503

收藏

17
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部