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

苏见山
苏见山
发布时间:2026-10-14| 4人浏览过
原创

PHP页面间参数传递主要涉及Cookie、Session、表单提交及URL参数四种机制,分别对应客户端存储、服务器会话状态控制及HTTP请求数据携带,开发者需根据数据敏感性与生命周期选择合适方案。

结果与目标

在 PHP 应用中实现从源页面(如 page01.php)向目标页面(如 page02.php)传输数据,确保数据可在后续逻辑中被读取和处理。

准备条件

  1. 环境基础:已配置好的 PHP 运行环境(如 Apache/Nginx + PHP),支持处理动态网页。
  2. 文件结构:page01.php 用于发送数据,page02.php 用于接收并展示数据。

真实操作顺序

第1步:使用 Cookie 传递(客户端存储)

目的:利用浏览器本地存储保存少量非敏感数据,跨页面保留用户状态。

  • 设置值(page01.php):
<?php
// 设置名为 mycookie 的变量,值为 '自灵'
// setcookie 必须在任何 HTML 输出之前调用
setcookie('mycookie', '自灵');
?>
  • 获取值(page02.php):
<?php
// 从 $_COOKIE 数组中提取数据
$wuziling = $_COOKIE['mycookie'];
echo $wuziling;
?>

完成判断:在 page02 能成功输出 "自灵"。
注意:Cookie 是键值对形式,可设置过期时间;由于存储在客户端,安全性较低,不适合存储密码等敏感信息。

第2步:使用 Session 传递(服务端存储)

目的:在服务器端维护用户会话状态,适合存储敏感或复杂数据,如登录状态、购物车内容。

  • 启动并设置值(page01.php):
<?php
// 必须首先调用 session_start() 启动会话
session_start();
// 存入一个包含三个元素的数组
$_SESSION["temp"] = array('123', '456', '789');
?>
  • 获取值(page02.php):
<?php
// 再次启动会话以访问当前用户的会话数据
session_start();
// 遍历输出数组内容
for($i=0; $i<3; $i++) {
    echo $_SESSION['temp'][$i] . '<br />';
}
?>

完成判断:page02 依次输出 "123"、"456"、"789"。
注意:Session ID 通常通过 Cookie 或 URL 参数在客户端和服务端之间隐式传输。Session 数据存储在服务器,安全性高于 Cookie,但需注意资源占用。

第3步:使用表单传递(POST/GET 方法)

目的:通过 HTML 表单主动提交数据,常用于用户输入信息的收集。

  • 构造表单(page01.php):
<form action="page02.php" method="post">
    <input type="text" name="wuziling" />
    <input type="submit" name="submit" value="提交" />
</form>
  • 接收数据(page02.php):
<?php
// 使用 $_POST 接收 POST 请求的数据
$wu = $_POST['wuziling'];
echo $wu;
?>

完成判断:用户在输入框输入内容并提交后,page02 显示该文本。
注意:`method` 也可设为 `get`,此时数据追加在 URL 中,适用于搜索等非敏感查询;`post` 将数据放在请求体中,更安全且无长度限制。务必验证和过滤 `$_POST` 数据以防止注入攻击。

第4步:使用超链接传递(URL 参数)

目的:通过 GET 请求在导航跳转时传递简单参数。

  • 构造链接(page01.php):
<?php
$var = 'I love you !';
// 动态生成 href,参数名为 new
?>
<a href="page02.php?new== htmlspecialchars($var) ?>">Get Link
  • 接收数据(page02.php):
<?php
// 使用 $_GET 数组接收 URL 参数
echo $_GET['new'];
?>

完成判断:点击链接后,浏览器地址栏显示 `page02.php?new=I%20love%20you%20!`,页面输出对应内容。
注意:GET 参数对用户可见,易被篡改或截获,严禁用于传输密码等机密信息。建议对输出进行转义处理以避免 XSS。

简要总结

Cookie 和 Session 主要用于维持状态,前者存于客户端,后者存于服务端;表单和超链接则是在 HTTP 请求过程中即时传递数据。根据数据安全要求、数据类型及交互模式选择合适的传递机制是关键。

以上就是PHP页面间参数传递的四种方法详解的详细内容,更多关于PHP网络编程的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。