php - 在不使用表单或页面 URL 的情况下在两个 PHP 页面之间传递变量

标签 php variables post

我想将几个变量从一个 PHP 页面传递到另一个。我没有使用表格。变量是出现问题时目标页面将显示的一些消息。如何将这些变量传递给其他 PHP 页面,同时保持它们不可见

例如假设我有这两个变量:

//Original page
$message1 = "A message";
$message2 = "Another message";

我想将它们从 page1.php 传递到 page2.php。我不想通过 URL 传递它们。

//I don't want
'page2.php?message='.$message1.'&message2='.$message2

有没有办法(可能通过 $_POST?)发送变量?如果有人想知道为什么我希望它们不可见,我只是不想要一个带有参数的大 URL 地址,如“&message=上传文件时出现问题。这不是一个有效的 .zip 文件”而且我没有太多是时候改变我的页面的重定向以避免这个问题了。

最佳答案

Sessions 对你来说是个不错的选择。看看这两个来自 PHP Manual 的例子:

Code of page1.php

<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';

// Or pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

Code of page2.php

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

收拾东西 - SID is PHP's predefined constant其中包含 session 名称及其 ID。示例 SID 值:

PHPSESSID=d78d0851898450eb6aa1e6b1d2a484f1

关于php - 在不使用表单或页面 URL 的情况下在两个 PHP 页面之间传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778425/

相关文章:

php - 中间件,检查 Laravel 5 后如何重定向

php - 检查 URL 是否有效的最佳方法

javascript - 调用 javascript 对象的问题

node.js - Node 错误: SSL23_GET_SERVER_HELLO:unknown protocol and SSL3_GET_RECORD:wrong version number

javascript - PHP 返回具有相似值的行 - 必须匹配第一个词

php - 使用 json 从 IMDB 获取数据

perl - 为什么用 "our"声明的变量在文件中可见?

javascript - 在另一个函数内调用函数 - Uncaught Error

php - 为什么在PHP中发送POST请求时fsockopen有性能问题而不是fopen?

java - 写入服务器时出错