Передача значения PHP сессии

Я пытаюсь передать значение с одной страницы WordPress на другую через сеанс PHP. У меня есть выпадающий список на обеих страницах, которые идентичны, за исключением значений параметров. Я хотел бы, чтобы выбранный параметр на 2-й странице при загрузке страницы отражал выбранное значение, представленное на первой странице.

Я изучил много вопросов, но не смог найти именно то, что мне нужно. Любая помощь будет принята с благодарностью!

Страница 1:

<?php
if(!isset($_SESSION)) {
session_start();
echo $_SESSION['state'];
$var_value = $_SESSION['state'];
}
?>

<form>
<input type=hidden name="retURL" value="page2.php">
<select id="state" name="state">
<option>State 1</option>
<option>State 2</option>
<option>State 3</option>
</select>
<input type="submit" name="submit" value="Submit">
</form>

Страница 2:

<?php
session_start();
if(isset($_POST['state'])){
$_SESSION['state'] = $_POST['state'];
}
?>

<select>
<option <?php if($var_value == 'State 1') echo 'selected'; ?> value="http://customizedlink">State 1</option>
<option <?php if($var_value == 'State 2') echo 'selected'; ?> value="http://customizedlink">State 2</option>
<option <?php if($var_value == 'State 3') echo 'selected'; ?> value="http://customizedlink">State 3</option>
</select>

0

Решение

Ядро WordPress не использует сессии PHP. Платформа WordPress не имеет состояния и не поддерживает
для использования сессий вне куки, который держит пользователя в журнале
в.

Ядро WordPress не использует сеансы PHP, но иногда они требуются в зависимости от вашего варианта использования, плагина или темы.

Ты можешь использовать WordPress родные сессии PHP плагин, который реализует встроенные обработчики сессий PHP, поддерживаемые базой данных WordPress.

увидеть Использование PHP-сессии в WordPress

1

Другие решения

Вы забыли рассказать нам, как вы переходите со страницы 1 на страницу 2. Но давайте предположим, что когда вы SELECT на странице 1 страница 1 вызывается снова. В этом случае вам нужно переместить $_SESSION['state'] = $_POST['state']; назначение со страницы 2 на страницу 1. Это должен происходить до Вы переходите на страницу 2.

Кроме того, страница 2 использует то, что называется $var_value который не установлен нигде в ваших примерах. Вы хотели выполнить $var_value = $_SESSION['state']; где-то над SELECT на странице 2?

Если ничего из этого не приводит вас к ответу, пожалуйста, предоставьте больше информации о контексте вашего кода.


Попробуй это. Ваша страница 1 FORM элемент, при отправке, вызывает страницу 1. Поэтому …

<?php
if(!isset($_SESSION)) {
session_start();
if( isset($_POST['state']) ){
$_SESSION['state'] = $_POST['state'];
}
echo "Page 1: ".$_SESSION['state'];
}
?>

<form method="post">
<input type=hidden name="retURL" value="page2.php">
<select id="state" name="state">
<option>State 1</option>
<option>State 2</option>
<option>State 3</option>
</select>
<input type="submit" name="submit" value="Submit">
</form>

Страница 2

<?php
session_start();
echo "Page 2: ".$_SESSION['state'];
$var_value = $_SESSION['state'];
?>

<select>
<option <?php if($var_value == 'State 1') echo 'selected'; ?> value="http://customizedlink">State 1</option>
<option <?php if($var_value == 'State 2') echo 'selected'; ?> value="http://customizedlink">State 2</option>
<option <?php if($var_value == 'State 3') echo 'selected'; ?> value="http://customizedlink">State 3</option>
</select>

Вы должны увидеть правильное значение для $_SESSION['state'] на странице 2 (после запуска страницы 1) ЕСЛИ Я правильно понял смысл вашего кода.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector