在PHP文件之间传递数据

时间:2014-10-30 16:09:58

标签: php http header

这里我有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内检索它?

6 个答案:

答案 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)

你可以做到     `php script.php $ str`; 使用您的字符串作为命令行参数调用script.php。 http://php.net/manual/en/language.operators.execution.php