У меня есть переменная сеанса php, и я обновляю ее на странице и обращаюсь к ней на другой странице. Когда переменная достигает порогового значения, я сбрасываю ее на ноль и увеличиваю в соответствии с количеством загруженных файлов.
Проблема заключается в том, что после того, как я перезагружаю и снова загружаю страницу, файл снова получает доступ к переменной сеанса, которая не обновляется, и показывает ноль, хотя файлы загружены.
Но на самом деле переменная сеанса увеличивается на другой странице. Он показывает реальное значение (значение увеличивается) только после двойной перезагрузки.
Я хочу знать, почему это происходит.
Прежде всего, важно показать ваши коды для вашего вопроса, но для этого конкретного вопроса проблема в том, что вы используете session
variables
прямо в файле, который вы обновили их. сеансы загружаются до чего-либо на странице, поэтому, когда вы обновляете их, они уже загружены и, хотя они изменились, их значение остается неизменным на текущей странице.
Чтобы предотвратить это, вам нужно либо перейти на другую страницу после обновления сеанса, либо поставить перенаправление после оператора изменения сеанса, если необходимо остаться по тому же адресу, например так:
<?php
if(threshold){
$_SESSION['your_session']='your new value';
header('LOCATION sample.php');
}
?>
Других решений пока нет …