如何在另一个php页面的字符串变量中获取一个php页面的输出

如何在另一个php页面的字符串变量中获取一个php页面的输出,php,session,get,Php,Session,Get,我想知道怎么做 实际上我有两个php页面。 说page1.php和page2.php 现在在page1.php中,我们有 <?php $id=$_GET['id']; // do some processing with mysql database // do some more processing $name="Kumar Ravi"; // this is the name generated using ID received. echo $name; ?&g

我想知道怎么做

实际上我有两个php页面。 说page1.phppage2.php

现在在page1.php中,我们有

<?php
  $id=$_GET['id'];
  // do some processing with mysql database
  // do some more processing
  $name="Kumar Ravi"; // this is the name generated using ID received.
  echo $name;
?>

page2.php中,我们有

<?php
  $var=get_the_output('page1.php?id=24');
  echo $var;
?>

我的意思是,我想让另一个PHP(只能使用GET请求调用它)将所有数据回显到另一个PHP页面上的字符串中

我尝试过很多事情,但都失败了。 我试过的是:

  • file_get_contents-->失败,因为它无法在page2.phppage1.php
  • require-->,因为我不知道如何传递参数并使用它维护会话。尝试到处搜索,但..:(

  • 请提供帮助。

    如果加载page1.php和page2.php时存在相同的会话,您应该能够手动设置超全局,然后如果需要捕获包含页面的输出,可以使用输出缓冲:

    $_GET['id'] = '24';
    ob_start();
    require("page1.php");
    $out = ob_get_clean(); //$out = "Kumar Ravi";
    

    您可以执行以下操作,但要小心:

    <?php
    $_GET['id'] = 24; // set the id in $_GET so page2 can find it
    ob_start();
    include('page1.php');
    $var = ob_get_clean();
    ?>
    
    
    
    如果您愿意,您可以使用javascript从第1页到第2页进行Ajax调用,或者以其他方式调用选项1。为什么您无法维护会话?您是否使用Cookie来处理会话id或查询字符串?@MikeB我使用的是$\u会话,而不是Cookie。实际上,我是新手。您能提供一个考试吗ple?非常感谢您的解决方案,但我可以知道您所说的“小心”是什么意思吗?使用此方法时是否存在任何安全问题或其他问题?没有安全问题。只是指小心传递这样的参数。特别是如果您在上注册了globals。@Daveo我需要知道它的气味为何?使用此方法时我会面临哪些问题?达维奥可能是,你能解释一下吗?