как получить вывод одной страницы php в строковой переменной на другой странице php - PullRequest
2 голосов
/ 11 ноября 2011

Я крашусь, чтобы знать, как это сделать.

На самом деле у меня есть две страницы 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;
?>

и page2.php , у нас есть

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

Как можно сделать что-то подобное, я имею в виду, что я хочу, чтобы все данные отображались другим PHP (который может вызываться только с помощью запроса GET ) в строку на другая страница PHP.

Я пробовал много вещей, но не смог. Вот что я попробовал:

  1. file_get_contents ---> не удалось, так как не удалось сохранить сеанс, присутствующий в page2.php до page1.php
  2. require --->, поскольку я не знаю, как передать параметр и поддерживать сеанс, используя это. Пытался искать везде, но ..: (

Пожалуйста, помогите.

Ответы [ 2 ]

4 голосов
/ 11 ноября 2011

если при загрузке page1.php и page2.php существует один и тот же сеанс, вы можете просто установить суперглобальные значения вручную, а затем, если вам нужно захватить выходные данные включенной страницы, вы можете сделать это, используя буферизацию вывода:

$_GET['id'] = '24';
ob_start();
require("page1.php");
$out = ob_get_clean(); //$out = "Kumar Ravi";
3 голосов
/ 11 ноября 2011

Вы можете сделать что-то вроде следующего, но будьте осторожны:

<?php
$_GET['id'] = 24; // set the id in $_GET so page2 can find it
ob_start();
include('page1.php');
$var = ob_get_clean();
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...