【发布时间】:2021-09-02 04:00:24
【问题描述】:
我需要在 2 个 php 页面之间传递一个变量。
按钮提交后,表单中的action调用第二个页面。
<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>'; ?>
我哪里错了?为什么第二页的值为null?
【问题讨论】:
-
是不同的文件(
page1.php,page2.php),如果是,你会在第二个做 session_start() 吗? -
此代码在第一页是真的吗?如果是,则不需要使用
SESSION,而是可以直接在callSecondPage中使用POST -
此代码在第一页,是的,有 2 个不同的文件。
-
我尝试直接在第二页进行 POST 但结果始终相同...空值。
-
以后当您需要添加更多代码时,请编辑您的问题。 cmets 中的代码很难阅读,您可以自己看到。这次我给你加了,然后我在下面准备了一个答案——请看一下。谢谢。
标签: php forms session session-variables form-submit