Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как передать переменную из одного php файла в другой
 
 автор: bonskii   (11.09.2004 в 14:25)   письмо автору
 
 

Через форму, понятно, отправляется, а если нужно, к примеру, массив или переменную php прочитать из другого php файла?

   
 
 автор: cheops   (11.09.2004 в 14:51)   письмо автору
 
   для: bonskii   (11.09.2004 в 14:25)
 

Протокол HTTP не сохраняет состояние, поэтому на прямую работать с переменными и массивами не получится. Методов передачи существует много.
1) Например, можно, осуществить редирект на другую страницу, с передачей значения через строку запроса:
<?php
// Файл index.php
$value = 5;
echo "<HTML><HEAD>
   <META HTTP-EQUIV='Refresh' CONTENT='0; URL=test.php?value=$value'>
    </HEAD></HTML>";
?>

В файле test.php к значение переменной $value можно будет получить по обращению к $_GET['value'];
2) Значения переменных и массивов можно хранить в базе данных или файлах, извлекая и помещая их обратно на каждой странице
3) Можно использовать cookie - хранение значений на машине посететля.
<?php
  $author = 'bonskii';
  // Хранить имя посетителя в cookie в течении суток
  setcookie("author", $author, time() + 3600*24);
?>

Обращаться к значению, сохранённому в cookie можно используя суперглобальный массив:
<?php
  echo $_COOKIE['author'];
?>

4) Можно использовать сессии, которые в отличие от cookie, храняться на сервере
<?php
  session_start();
  $_SESSION['user'] = 'bonskii';
?>

Обращаться к значению, сохранённому в сессии можно используя суперглобальный массив:
<?php
  echo $_SESSION['user'];
?>


PS Обычно взаимодействие между отдельными файлами PHP сводится к одному из этих вариантов или их комбинации.