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

时间:2013-12-10 13:20:29

标签: php session cookies radio

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

        $_SESSION['fuel'] = $FUEL;
        $_SESSION['transmission'] = $TRANSMISSION;
        $_SESSION['engines'] = $ENGINES;
        $_DOORS['doors'] = $DOORS;

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

感谢您的帮助。的解决

4 个答案:

答案 0 :(得分:4)

这就是你要做的事情:

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

  5. <?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; ?>
    

    在此示例中,值存储在会话中,然后从会话中检索,因此这也适用于其他页面。

答案 1 :(得分:0)

您可以通过以下方式开始会话:

session_start();

在您的其他页面/ php文件上,然后使用$_SESSION['transmission']等获取您的值。 但这仅在您第一次在当前的php文件中保存数据时才有效

答案 2 :(得分:0)

你可以做点什么 <input type="radio" value="1" name="enginesize"<?php if(isset($_SESSION['enginesize'])) echo 'checked="checked"';?> /&gt;

答案 3 :(得分:0)

当您提交表单时,“door”-variable将保存用户选择的值,例如2.我假设您将其保存到$ _SESSION变量。

$curr_doors = $_SESSION['doors'];

现在你必须使用它来比较你想要设置为检查的单选按钮,例如:

printf ("2:<input type=radio value='2' name='doors' %s>\n",$cur_doors == 2 ?"checked":"");
printf ("3:<input type=radio value='2' name='doors' %s>\n",$cur_doors == 3 ?"checked":"");
printf ("4:<input type=radio value='2' name='doors' %s>\n",$cur_doors == 4 ?"checked":"");
printf ("5:<input type=radio value='2' name='doors' %s>\n",$cur_doors == 5 ?"checked":"");