PHP在不同页面之间传值的三种常见方式

接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大家一起讨论。

      一. POST传值

      post传值是用于html的<form>表单跳转的方法,很方便使用。例如:


 <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']获取,例如:

<?php
$a=$_POST['name1'];
$b=$_POST['name2'];
?>

      这里有个很方便的小技巧,在input标签中把type选为'hidden'时,这个input标签会隐藏起来,不在页面显示,但这input标签在 form中,并且有name值和value值,同样会跟随提交按钮传递过去,这种隐藏标签可以传递一些不想显示出来的内容。

    二.GET传值

     GET传值是通过跟随url传递的,在页面跳转时,跟着url跳转。常用于<a>标签的使用。例如:


<a href='delete.php?id=value'>点我跳转</a>

   跳转进入xxx.php后,就能通过$_GET['id']获取传递的值。GET方法常用于URL的目的是删除或读取某个id的php文件。

   三.SESSION传值

   SESSION是全局变量的一种,经常用于用户登陆后保存用户id之类的常用数据。一旦保存到SESSION中,其他页面都可以通过SESSION获取,SESSION的使用要开启session:

<?php
//session赋值
   session_start();
   $_SESSION['one']=value1;
   $_SESSION['two']=value2;
//session值的读取:
   $one = $_SESSION['one'];
   //session值的销毁
   unset($_SESSION['one']);
?>

   以上三种方式是常用方式