@WayMax

Как создать общую переменную для двух PHP скриптов?

1. Вариант с разделяемой (shared) памятью очень неудобный.

2. В этом варианте третий скрипт всегда возвращает "0".

file1.php
$GLOBALS["my_param"] = "0";

file2.php
include 'file1.php';
$GLOBALS["my_param"] = <значение переменной>;

file3.php
include 'file1.php';
echo $GLOBALS["my_param"];


UPD для "Петросянов":
Выполняю скрипт "file2.php" - по логике значение переменной "my_param" должно измениться. После чего выполняю скрипт "file3.php" - вижу что значение не изменилось. Следовательно данный вариант не работает.

Из названия вопроса серьезно не понятно что нужно?
Нужна глобальная переменная к которой я мог бы обращаться из двух скриптов.
  • Вопрос задан
  • 590 просмотров
Решения вопроса 1
vgorodilov
@vgorodilov
file1.php:
session_start();
$_SESSION['my_param'] = 0;


file2.php

if(!isset($_SESSION)){ // если сессия не запущена, то запускаем ее
  session_start();
}
echo $_SESSION['my_param']; //0
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Используй базу данных.

Если тебе вдруг покажется, с высоты своего гигантского опыта трех дней в программировании, что это решение тебе не подходит, что оно слишком сложное или неудобное, то купи себе книжку по основам пхп, прочти её, а потом используй базу данных.
Ответ написан
seganim
@seganim
PHP-программист, программный инженер
Автор, ты не прав. Выполняя file2.php ты меняешь значение переменной в file1.php только в рамках file2.php. Когда ты запускаешь file3.php, переменная там берется из file1.php, где она определена. PHP не хранит изменения в файлах, они происходят только в окружениях исполняемого файла.

Для хранения значений при переходе по скриптам используй куки, сессии или БД - в зависимости от контекста задачи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы