PHP页面之间传递参数的三种方法

php变量传递是非常常见的,比如一个简单的登录模块,首先需要创建登录表单,然后需要将登录表单页面的用户名和密码传递到登录处理页面进行判断用户名和密码是否正确,如果正确则进行登录成功的相关操作,如果错误就提示给用户账号密码有误。

以上所说的登录模块就设计到php页面与页面之间参数传递。本文章向大家介绍三种方法实现php变量从一个页面传递到另外一个页面。

  1. 第一种方法:$_POST
  2. 第二种方法:$_GET
  3. 第三种方法:$_SESSION

 

PHP $_POST实现参数传递

POST方法通过HTTP标头传输信息。该信息按照GET方法的说明进行编码,然后放入称为QUERY_STRING的标头中。

  • POST方法对要发送的数据大小没有任何限制。

  • POST方法可用于发送ASCII以及二进制数据。

  • POST方法发送的数据通过HTTP标头传递,因此安全性取决于HTTP协议。通过使用安全HTTP,可以确保您的信息是安全的。

  • PHP提供了$_POST关联数组,以使用POST方法访问所有已发送的信息。

例子:

test.php页面:

<form action="nextPage.php" method="POST">
    <input type="text" name="email">
    <input type="text" name="username">
    <input type="submit" name="submit">
</form>

表单php处理脚本nextPage.php

$username = isset($_POST['username']) ? $_POST['username'] : "";
$email       = isset($_POST['email']) ? $_POST['email'] : "";
echo "Username: ".$username;
echo "Email: ".$email;

输出:

Username: johndoe
Email: johndoe@gmail.com

 

PHP $_GET实现参数传递

php $_GET通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组。 注意:该数组不仅仅对 method 为 GET 的请求生效,而是会针对所有带 query string 的请求。

  1. $ _GET是超级全局变量。
  2. 在GET中发送的数据在URL中可见。
  3. 不适合发送敏感数据。
  4. 发送数据的限制(约2000个字符)
  5. 在GET中,您可以通过两种方式将信息发送到服务器:url和表单get

通过URL发送get信息:

http://www.test.com/index.htm?name1=value1&name2=value2

通过表单get传递信息:

<?php
   if( $_GET["name"] || $_GET["age"] ) {
      echo "Welcome ". $_GET['name']. "<br />";
      echo "You are ". $_GET['age']. " years old.";
      
      exit();
   }
?>
<html>
   <body>
   
      <form action = "<?php $_PHP_SELF ?>" method = "GET">
         Name: <input type = "text" name = "name" />
         Age: <input type = "text" name = "age" />
         <input type = "submit" />
      </form>
      
   </body>
</html>

 

PHP $_SESSION实现参数传递

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

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

要想使用session,必须启动session。session_start();就是启动session的方法。一般要写在最前面。

第二个语句我定义了一个$_SESSION["temp"]数组,数组的名称是$_SESSION["temp"],里面存储了3个字符串。

在page02页面接受session。

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

首先启动会话。启动后我们在page01定义的变量已经可以使用了,不需要其他任何获取的操作。上面我们使用for循环将其内容输出。

注意事项

  1. 不要以为$_SESSION['temp'][$i]是一个二维数组,它是个一维数组,数组的名称是$_SESSION["temp"],虽然这个名称比较繁琐,数组的下标是'temp'
  2. 我们在写$_SESSION["temp"]时,temp加双引号或者单引号都是等价的。
  3. 这里我们定义会话变量时定义的是数组,也可以定义普通变量。
以上就是本文的全部内容,希望对大家的学习有所帮助。更多教程请访问码农之家
posted @ 2022-08-24 13:08  small_123  阅读(1398)  评论(0编辑  收藏  举报