办法很多:
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站设计、柯桥网络推广、微信平台小程序开发、柯桥网络营销、柯桥企业策划、柯桥品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供柯桥建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
第一种:GET(就是URL,也就是链接上带有参数),例子:
1.php(第一个页面)
a href="2.php?arr=abc"传递get数组名为arr,值是abc,传递到2.php页面
/a
看到?arr=abc了吧,这就是参数了,如果有两个呢:a href="abc.php?abc=abc123=123"传递get数组名为abc,值是abc
/a
用这个隔开,当然啦,在网页上看就是
2.php(第二个页面)
?php
echo $_GET['abc'];
//输出传递过来的值
-------------------------------------------------------------------------
第二个办法是:POST,表单提交,依旧是给例子:
form name="form1" method="post" action="2.php"
method的意思是以post方式提交到2.php,action的意思是动作,method是类型
随便输一个:
label
input type="text" name="val" /
input是html的标签,类型是文本域(输入文字),名字是val(后台用于接收的名称)
/label
p
label
input type="submit" name="Submit" value="提交" /
/label
/p
/form
2.php(第二个页面)
?php
echo $_POST['val'];
//输出上一个页面提交过来的val文本域的值。
?
-------------------------------------------------------------------------------------------
第三个办法是:SESSION,会话。还是给例子(注意,SESSION是全局变量,也就是说,它只要被声明,在所有页面都是可用的,前提是你不关闭网页或者没有到SESSION的生命周期。而POST和GET只要php执行完毕就会立刻被释放,也就没有了。):
1.php
?php
session_start();
//会话开始,这样你才可以调用session
$_SESSION['val']='123';
//直接声明全局变量val的值等于123
echo $_SESSION['val'];
?
a href="2.php"跳转到第二个页面去看看。
/a
2.php
?php
session_start();
echo $_SESSION['val'];
//直接输出全局变量val.
?
--------------------------------------------------------------------------------
最后一个办法,cookie。饼干,哈哈不过呢,这个办法不好用,因为cookie是存放在客户端上(也是全局变量),session是存放在服务器上。这是两者唯一的不同
然后捏,我也没用过cookies,所以呢。我只能百度一个给你咯,调用办法一样的$_COOKIE['名称']
?php
setcookie("user", "Alex Porter", time()+3600);
//创建一个名为user的cookie变量,它的值是Alex Porter。它将在一个小时以后过期,也就是不能访问了
echo $_COOKIE['user'];
//你还要刷新一下页面才可以生效= =。。
?
?
一、用form表单中的hidden隐藏域。这种方法就是把待传递的变量用表单的方式再次传送,比如在用户登陆后,把他的信息如$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,欢迎光临php自学网!";?
打开apache服务器,输入在页面的按钮上点击,会发现新出的网页上$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,欢迎光临php自学网!";? //显示传递过来的变量
使用这种方法的时候要注意:?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,欢迎你的光临php自学网!";?
总结:以上只是一些常用的方法,还有很多的方法,如可以使用数据库,memcache等等.在此不做过多介绍.
两个窗口的代码类似这样:
?php
session_start();
if
(!isset($_SESSION['count']))
{
$_SESSION['count']
=
0;
}
else
{
$_SESSION['count']++;
}
//可以一个文件中赋值
$_SESSION['count']=123;
//在这个文件,或者另外一个文件中显示
echo
$_SESSION['count'];
?
补充:
窗口是不能关闭的,至少不能关完,SESSION需要COOKIE支持,窗口一关COOKIE就没了。一般是在一个窗口工作,可以不断的切换文件,如果多个窗口的话,往往是使用FRAME框架。