php跨页面的三种传值方式
一. POST传值
post传值是用于html的<form>表单跳转的方法,很方便使用。例如:
1
2
3
4
5
6
7
|
< html >
< form action = '' method = '' >
< input type = 'text' name = 'name1' >
< input type = 'hidden' name = 'name2' value = 'value' >
< input type = 'submit' value = '提交' >
</ form >
</ html >
|
form中的action填入的是跳转页面的url路径,method填入post方法。form表单中的提交按钮按下后,就会把form中有name的内容都传到填入的url中,可以通过$_POST['name']获取,例如:
1
2
3
4
|
<?php $a = $_POST [ 'name1' ];
$b = $_POST [ 'name2' ];
?> |
这里有个很方便的小技巧,在input标签中把type选为'hidden'时,这个input标签会隐藏起来,不在页面显示,但这input标签在form中,并且有name值和value值,同样会跟随提交按钮传递过去,这种隐藏标签可以传递一些不想显示出来的内容。
二.GET传值
GET传值是通过跟随url传递的,在页面跳转时,跟着url跳转。常用于<a>标签的使用。例如:
1 |
< a href = 'delete.php?id=value' >点我跳转</ a >
|
跳转进入xxx.php后,就能通过$_GET['id']获取传递的值。GET方法常用于URL的目的是删除或读取某个id的php文件。
三.SESSION传值
SESSION是全局变量的一种,经常用于用户登陆后保存用户id之类的常用数据。一旦保存到SESSION中,其他页面都可以通过SESSION获取,SESSION的使用要开启session:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php //session赋值 session_start();
$_SESSION [ 'one' ]=value1;
$_SESSION [ 'two' ]=value2;
//session值的读取: $one = $_SESSION [ 'one' ];
//session值的销毁
unset( $_SESSION [ 'one' ]);
?> |
以上三种方式是常用方式,大家可以参考使用。
对于三种方式的利弊,get传值是显示在URL链接中,很不安全,如果是要链接到另一页面,post不太方便使用,选择session是一个很好很方便的方法
。