从另一个调用脚本不起作用

时间:2017-04-19 06:30:17

标签: php

我试图从我的主脚本中调用第二个PHP脚本,但我无法使其正常工作。

在我的主脚本中,我创建了一个数组,向其中添加项目并启动会话以将数组数据传递给第二个脚本:

    $sorted[] = {.....some data....};
    session_start();
    $_SESSION["$myarray"] = $sorted;
    echo 'starting second script';
    include($_SERVER['DOCUMENT_ROOT'].'second_script.php');

使用第二个脚本我试图显示数组

    echo 'running second script';
    session_start();
    foreach ($_SESSION["$myarray"] as $vals){
      ....display array contents...
    }

如果我直接运行第二个脚本,则返回"运行第二个脚本",然后发出警告"警告:为foreach()"提供的参数无效,预计在那里还没有开始一个会议,但至少它已经做了一些事情。

为什么不从主脚本调用不起作用?

1 个答案:

答案 0 :(得分:1)

正如一些评论已经提出的那样:session_start()应该是第一个语句,但你不需要它。你也不需要超全球$ _SESSION。

这将有效,第一个脚本:

$sorted = array(1, 2, 3, 4);
    echo 'starting second script <br>';
    include('second_script.php');

第二个脚本:

   echo 'running second script <br>';
foreach ($sorted as $vals){
  echo $vals;
}