从 PHP 会话中检索单选按钮值

Jam*_*mes 1 php cookies session radio

我想要做的是点击一页上的单选按钮,让它记住你对另一页的选择。我已经为文本做了这个,但显然文本比选择的单选按钮选项更容易记住和显示。或者至少对我来说是这样。这是我在第一页上保存变量的代码:

        $_SESSION['fuel'] = $FUEL;
        $_SESSION['transmission'] = $TRANSMISSION;
        $_SESSION['engines'] = $ENGINES;
        $_DOORS['doors'] = $DOORS;
Run Code Online (Sandbox Code Playgroud)

所以下面表格的值保存在上面的变量中。它们都在同一页面上。现在我想在另一个页面上显示这些选项,与这个页面非常相似。虽然如果它比我想象的更复杂,那么我将没有时间去做。

谢谢你的帮助。解决了

小智 5

这是你必须做的:

  1. 开始会话
  2. 从发布数据中获取选定的值
  3. 将检索到的数据存储到会话中以备后用
  4. 将检索到的值与无线电值进行比较以设置“已检查”属性

<?php
session_start();
//set initial value
$transmission = "";
//get value from post data and store into session
if (isset($_POST['transmission'])){
    $_SESSION['transmission'] = $_POST['transmission'];
}
//get back from session
if (isset($_SESSION['transmission'])){
    $transmission = $_SESSION['transmission'];
}
//display selected value
?>
<form action="" method="post" onclick="this.submit()">
    Manual:<input <?php if ($transmission=='Manual'){ echo 'checked="checked"';} ?> type="radio" value="Manual" name="transmission"><br>
    Automatic:<input <?php if ($transmission=='Automatic'){ echo 'checked="checked"';} ?> type="radio" value="Automatic" name="transmission"><br>
    Semi-Auto:<input <?php if ($transmission=='Semi-Auto'){ echo 'checked="checked"';} ?> type="radio" value="Semi-Auto" name="transmission"><br>
</form>

<br><br>Selected Value: <?php echo $transmission; ?>
Run Code Online (Sandbox Code Playgroud)

在这个例子中,值被存储到 session 中,然后从 session 中检索,所以这也适用于另一个页面。