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

在两个PHP页面之间传递变量,而不使用表单或页面的URL,php,variables,post,Php,Variables,Post,我想把几个变量从一个PHP页面传递到另一个页面。我没有使用表单。变量是一些消息,如果出现问题,目标页面将显示这些消息。如何将这些变量传递到另一个PHP页面,同时保持它们不可见 e、 g.假设我有两个变量: //Original page $message1 = "A message"; $message2 = "Another message"; 我想把它们从page1.php传递到page2.php。我不想通过URL传递它们 //I don't want 'page2.php?message

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

e、 g.假设我有两个变量:

//Original page
$message1 = "A message";
$message2 = "Another message";
我想把它们从page1.php传递到page2.php。我不想通过URL传递它们

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

是否有一种方法(可能通过$u POST?)发送变量?如果有人想知道我为什么希望它们不可见,我只是不想要一个带有参数的大URL地址,如“&message=Problem while upload your file.This not a valid.zip file”,我没有太多时间更改页面重定向以避免此问题。

您是否尝试将这两个参数都添加到
$\u SESSION

然后在page2.php的顶部添加:

<?php
session_start();
使用

第1页:

session_start();
$_SESSION['message'] = "Some message"
第2页:

session_start();
var_dump($_SESSION['message']);

将会话存储在第1页,然后存储在第2页

<?php
session_start();

echo $_SESSION['firstMessage'];
echo $_SESSION['secondMessage'];
?>

会话将是您的最佳选择。请看以下两个示例:

page1.php的代码

以下是简要清单:

  • JQuery和JSON的东西。()

  • $\会话-可能是最好的方式

  • 自定义cookie-不会*始终*工作

  • HTTP头-某些代理可以阻止它

  • 数据库,如MySQL、Postgres或Redis或Memcached等(例如类似于自制会话,通过IP地址“锁定”)

  • APC-类似于数据库,不会*始终*工作

  • HTTP\u推荐人

  • URL散列参数,例如。-您需要一些JavaScript来收集散列。-gmail大量使用这个


会话我的朋友,会话。也可以使用/tmp/或/dev/shm/中的纯文本文件代替数据库
<?php
session_start();

echo $_SESSION['firstMessage'];
echo $_SESSION['secondMessage'];
?>
<?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>';
?>
<?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>';
?>
PHPSESSID=d78d0851898450eb6aa1e6b1d2a484f1