在两个PHP页面之间传递变量,而不使用表单或页面的URL

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

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

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

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

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

有没有办法(也许通过$_POST?)?如果有人想知道为什么我想让他们看不见,我只是不想要一个比较大的URL地址,其中包含“& message =上传文件时出现的问题,这不是一个有效的.zip文件”,我没有很多时间来改变我的页面的重定向,以避免这个问题.

最佳答案
会议将是您的不错选择.看看这两个例子从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 maybe 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,其中包含会话名称及其ID.示例SID值:

PHPSESSID=d78d0851898450eb6aa1e6b1d2a484f1

转载注明原文:在两个PHP页面之间传递变量,而不使用表单或页面的URL - 代码日志