Сохранить значения в массиве навсегда? - PullRequest
1 голос
/ 28 апреля 2020

Есть ли способ сохранить значения, которые я добавляю в массив для дальнейших случаев? Например, я создаю массив на одной странице php, а с другой страницы добавляю значение к массиву на первой странице. Проблема возникает, когда вторая страница пытается добавить другое значение к первой странице, и значение заменяется. Я объясню с помощью кода.

FirstPage. php

<?php
global $file;
print_r ($file);
?>

SecondPage. php

<?php
$file = array();
$id=$_GET['id'];
array_push($file, "$id"); //ID = 1 here
include('FirstPage.php');
?>

Когда я выполняю SecondPage. php, вывод

Array ( [0] => 1)

Затем я изменяю значение ID = 2, затем вывод

Array ( [0] => 2)

Таким образом, значения никогда не сохраняются в FirstPage. php, они всегда получить замену.

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Вы должны использовать database , сохранить свой массив в файл или использовать другой метод хранения данных. Эти операции вы используете без сохранения состояния. Содержимое массивов не будет сохранено между следующими запусками PHP сценариев.

Сеансы работают до закрытия браузера, поэтому это не является решением вашей проблемы.

1 голос
/ 28 апреля 2020

Для этого можно использовать переменную сеанса , назначив значение переменной сеанса на первой странице как

SESSION

Первая страница

<?php
session_start();
$_SESSION['variable'] = $file; //variable assigned the value of array()
print_r ($file);
?>

И на второй странице присвойте значение переменной сеанса простой переменной.

Вторая страница

<?php
session_start();
$file = $_SESSION['variable'];
$id=$_GET['id'];
array_push($file, $id); //ID = 1 here
?>

И после этого вам не нужно снова включать первую страницу.

Поскольку вы не упомянули свою array() в вопросе возьмем это в качестве примера

Первый. php

<?php
session_start();
$file = $_SESSION['varname'];
print_r($file);
?>

Второй. php

<?php
session_start();
$file  = array(1,2,3,4);
array_push($file,'5');
$_SESSION['varname'] = $file;
header("Location: first.php");
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...