这里我有foo.php,它在后台运行,没有任何HTML,用户从未访问过它。
<?php
if (isset($_GET['data'])) {
$bar = $_GET['data']; // data comes from a html form on another page.
$str = strtoupper($bar);
echo $str;
}
这只是一个简单的例子,但是我要说我不会将$str
传递给另一个文件script.php
以进行额外处理。
最好的方法是什么?我能想到这样做的唯一方法是将其发布到数据库中,然后在script.php
内检索它?
答案 0 :(得分:1)
这样的事情很容易实现:
您可以使用if语句
创建一个函数foo.php:
<?php
function fooFunction() {
if (isset($_GET['data'])) {
$bar = $_GET['data']; // data comes from a html form on another page.
$str = strtoupper($bar);
return $str;
}
}
?>
的script.php:
<?php
require_once 'foo.php';
?>
如果您已有会话,可以将其插入会话数组中,如下所示:
foo.php:
<?php
session_start();
if (isset($_GET['data'])) {
$bar = $_GET['data']; // data comes from a html form on another page.
$str = strtoupper($bar);
$_SESSION['str'] = $str;
}
?>
的script.php:
<?php
session_start();
echo $_SESSION['str'];
?>
答案 1 :(得分:1)
使用会话
//On page 1
$_SESSION['varname'] = $bar;
//On page 2
$var_value = $_SESSION['varname'];
在尝试访问$ _SESSION数组之前,以及在将任何输出发送到浏览器之前,请记住在这两个页面上运行session_start()语句。
<强>曲奇:强>
//One page 1
$_COOKIE['varname'] = $bar;
//On page 2
$var_value = $_COOKIE['varname'];
正如@ Rizier123所提到的那样“可以删除或禁用Cookie!如果变量非常重要,则不会这样做”。所以最好避免这种方法。
答案 2 :(得分:0)
如果include
(或require
)php脚本X进入另一个PHP脚本Y,Y将访问所有X数据和函数。您也可以使用@sanki评论的会话。
答案 3 :(得分:0)
答案 4 :(得分:0)
将数据作为GET
参数
<?php
if (isset($_GET['data'])) {
$bar = $_GET['data']; // data comes from a html form on another page.
$str = strtoupper($bar);
echo $str;
header("Location: script.php?data={$str}");
}
?>
但这会使script.php
在当前文件之后立即运行。
答案 5 :(得分:0)