PHP 和会话中的变量
PHP and variable in session
我需要在 2 php 页之间传递一个变量。
第二个页面是在提交按钮后从表单中的操作调用的。
<body>
<div>
<form action="callSecondPage.php" method="POST">
<div>
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
</div>
<?php
$currentValue = (isset($_POST['taskOption'])) ? $_POST['taskOption'] : '';
$_SESSION['taskOption'] = $currentValue;
?>
<div>
<button name="submit" class="btn">Submit</button>
</div>
</form>
</div>
</body>
在第二页中,我只是尝试查找值并在控制台中打印它:
<?php
session_start();
$taskOption = $_SESSION['taskOption'];
echo '<script>';
echo 'console.log('. json_encode($taskOption, JSON_HEX_TAG) .')';
echo '</script>'; ?>
我哪里错了?为什么第二页的值为空?
这没有意义,因为您从来没有将值存储在 session 中。您的其他代码:
$currentValue = (isset($_POST['taskOption'])) ? $_POST['taskOption'] : '';
$_SESSION['taskOption'] = $currentValue;`
将始终在 Session 中设置一个空值,因为它试图查找的值直接发布到 callSecondPage.php
,它永远不会通过此代码。
所以因为您将值直接发布到第二页,所以在 callSecondPage.php
中您可以简单地写
$taskOption= $_POST['taskOption'];
echo $taskOption;
立即从 POST 数据中获取。不需要 sessions.
我需要在 2 php 页之间传递一个变量。
第二个页面是在提交按钮后从表单中的操作调用的。
<body>
<div>
<form action="callSecondPage.php" method="POST">
<div>
<select name="taskOption">
<option>First</option>
<option>Second</option>
<option>Third</option>
</select>
</div>
<?php
$currentValue = (isset($_POST['taskOption'])) ? $_POST['taskOption'] : '';
$_SESSION['taskOption'] = $currentValue;
?>
<div>
<button name="submit" class="btn">Submit</button>
</div>
</form>
</div>
</body>
在第二页中,我只是尝试查找值并在控制台中打印它:
<?php
session_start();
$taskOption = $_SESSION['taskOption'];
echo '<script>';
echo 'console.log('. json_encode($taskOption, JSON_HEX_TAG) .')';
echo '</script>'; ?>
我哪里错了?为什么第二页的值为空?
这没有意义,因为您从来没有将值存储在 session 中。您的其他代码:
$currentValue = (isset($_POST['taskOption'])) ? $_POST['taskOption'] : '';
$_SESSION['taskOption'] = $currentValue;`
将始终在 Session 中设置一个空值,因为它试图查找的值直接发布到 callSecondPage.php
,它永远不会通过此代码。
所以因为您将值直接发布到第二页,所以在 callSecondPage.php
中您可以简单地写
$taskOption= $_POST['taskOption'];
echo $taskOption;
立即从 POST 数据中获取。不需要 sessions.