PHP页面间参数传递的四种方法详解

文章
PHP页面间参数传递的四种方法详解-下一朵云

我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用。


1.方法一

使用客户端浏览器的cookie。cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。

在page01.php中设置一个cookie

代码如下:

<?php
       setcookie('icookie','下一朵云');
?>

就是这么简单,我们已经创建cookie完毕。 我们定义了一个变量icookie,它的值是字符串’下一朵云’。我们可以随便给cookie变量起名字,可以定义多个cookie变量。

在page02.php页面接受cookie

代码如下:

<?php
     $wu = $_COOKIE['icookie'];
     echo $wu;
?>

我们使用$_COOKIE[]提取cookie中的变量icookie,将它的值付给$wu。然后简单的输出。


2.方法二

使用服务器端的session。理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会话。

在page01.php中设置一个session

代码如下:

<?php
session_start();
$_SESSION["temp"]=array('123','456','789');
?>

要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。 第二个语句我定义了一个$_SESSION[“temp”]数组,数组的名称是$_SESSION[“temp”],里面存储了3个字符串。

在page02.php页面接受session

代码如下:

<?php
     session_start();
     for($i=0;$i<3;$i++)
     {
             echo $_SESSION['temp'][$i].'<br />';
     }
?>

首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作,这里不同于cookie。
下面我们使用for循环将其内容输出。
不要以为$_SESSION[‘temp’][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION[“temp”],虽然这个名称比较繁琐,数组的下标是’temp’。
我们在写$_SESSION[“temp”]时,temp加双引号或者单引号都是等价的。
这里我们定义会话变量时定义的是数组,也可以定义普通变量,就像cookie里面讲到的。


3.方法三

使用表单来传递

page01.php

代码如下:

<form action="page02.php" method="post">
     <input type="text" name="wu" />
     <input type="submit" name="submit" value="提交" />
</form>

表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。

page02.php

代码如下:

<?php
     $t = $_POST['wu'];
     echo $t;
?>

用$_POST[ ]获取传递过来的变量值。这个变量名wu在表单的input标签的name属性里定义。然后将其传递给另外一个变量$t。这样我们就可以输出了。直接输出也是可以的,echo $_POST[‘wu’];


4.方法四

使用超链接传递参数。我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。

page01.php

代码如下:

<?php
       $var = 'I love you';
?>
<a href="<?php echo "page02.php?new=".$var ?>">get</a>

定义一个变量$var。超链接a的href属性里写明要跳转到page02页面。后面加一个问号,一个自己定义的变量new【此名称在page02页面要使用】,new的值就是我们想传递的$var。

page02.php

代码如下:

<?php
     echo   $_GET['new'];
?>

使用$_GET[ ]获取new的值,然后就可以输出或做其他用途。这时的浏览器地址栏可以直接看到new变量和它的值。