Я застрял в проблеме, когда мне нужно инициализировать переменную сеанса только один раз. Когда он попадает в submit и возвращается на ту же страницу, значение переменной должно быть изменено.
Мой код index.php
выглядит примерно так:
<?php session_start(); $_SESSION['session_variables_updated'] = 0; ?> <form name="" method="post" action="index2.php"> <input type="submit" value="Submit" name="Submit"> </form> if ($_SESSION['session_variables_updated'] == 1) { //do something }
Мой index2.php
:
<?php $_SESSION['session_variables_updated'] = 1; ?> <a href="index.php">back</a>
Но так как переменная снова инициализируется, она устанавливается равным 0 каждый раз. Любые рекомендации по этой проблеме?
index.php
<?php session_start(); if(!isset($_SESSION['session_variables_updated'])){ $_SESSION['session_variables_updated']=0; } ?> <form name="" method="post" action="index2.php"> <input type="submit" value="Submit" name="Submit"> </form> <?php if ($_SESSION['session_variables_updated'] ==1){ //do something } ?>
Пожалуйста, попробуйте это. Что я сделал здесь, я только что проверил, что переменная сеанса выделена или установлена или нет, если она недоступна, я присваиваю ей нуль. в противном случае я разрешаю ему выполнять другие действия.
на вашей второй странице вы должны начать сеанс, прежде чем делать что-то с сеансами
<?php session_start(); $_SESSION['session_variables_updated'] = 1; ?> <a href="index.php"> back </a>
Поразительно это будет работать, пожалуйста, попробуйте. это работает в моем случае
Пожалуйста, измените один файл index2.php
вам нужно добавить после запуска php и до определения переменной
session_start ();
Надеюсь, у вас появилась идея, увидев это.