Lef*_*008 20 php variables post
我想将一些变量从一个PHP页面传递给另一个PHP页面.我没有使用表格.变量是一些消息,如果出现问题,目标页面将显示.如何将这些变量传递给其他PHP页面,同时保持它们不可见?
例如,假设我有这两个变量:
//Original page
$message1 = "A message";
$message2 = "Another message";
Run Code Online (Sandbox Code Playgroud)
我想将它们从page1.php传递给page2.php.我不想通过URL传递它们.
//I don't want
'page2.php?message='.$message1.'&message2='.$message2
Run Code Online (Sandbox Code Playgroud)
有没有办法(可能通过$ _POST?)发送变量?如果有人想知道为什么我希望它们不可见,我只是不想要一个带有参数的大URL地址,例如"&message =在上传文件时出现问题.这不是一个有效的.zip文件"而且我没有太多是时候改变我的页面的重定向以避免这个问题.
Dan*_*mak 39
会议对你来说是个不错的选择.看一下PHP手册中的这两个例子:
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>';
?>
Run Code Online (Sandbox Code Playgroud)
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>';
?>
Run Code Online (Sandbox Code Playgroud)
要清理东西 - SID是PHP的预定义常量,它包含会话名称及其ID.示例SID值:
PHPSESSID=d78d0851898450eb6aa1e6b1d2a484f1
Run Code Online (Sandbox Code Playgroud)
以下是简要列表:
JQuery与JSON的东西.(http://www.w3schools.com/xml/xml_http.asp)
$ _SESSION - 可能是最好的方式
自定义cookie - 不会*总是*工作.
HTTP标头 - 某些代理可以阻止它.
数据库,如MySQL,Postgres或其他类似Redis或Memcached(例如类似于自制会话,由IP地址"锁定")
APC - 类似于数据库,不会*总是*工作.
HTTP_REFERRER
URL哈希参数,例如http://domain.com/page.php#param - 您需要一些JavaScript来收集哈希值. - gmail大量使用这个.