【问题标题】:Store radio button value in session - PHP在会话中存储单选按钮值 - PHP
【发布时间】:2018-06-08 14:56:03
【问题描述】:

如何创建一个带有 3 个单选按钮和一个单击“提交”按钮的表单,并将被重定向到下一页,显示使用会话选择的每个单选按钮的数量。

例子:

选择单选按钮 A、单选按钮 B、单选按钮 C 之一

提交

进入下一页,显示每个单选按钮的数量,

  • 单选按钮 A - 5 次
  • 单选按钮 B - 2 次​​li>
  • 单选按钮 C - 0 次。

目前我只能使用数据库,如果我想使用会话呢?

更新: 我当前的代码只显示我选择的单选按钮

file1.php

session_start();
$_SESSION['choice'] = $choiceVal;

<form method="get" action="file2.php">
    <input type="radio" name="choice" value="R1"> R1<br>
    <input type="radio" name="choice" value="R2"> R2<br>
    <input type="radio" name="choice" value="R3"> R3<br>
    <input type="submit">
</form>

file2.php

session_start();
$choiceVal = $_GET['choice'];
echo "Your registration is: ".$choiceVal.".";

<p><a href="file1.php">Back to main page</a>

【问题讨论】:

  • 我得到了你想要的,但你能添加你的代码吗?
  • @ChrisHappy 我的代码仅用于使用数据库,我不知道如何通过使用 php 会话来做到这一点,我在网上看到了很多示例,但是当我尝试申请我想做的事情时,它只是不起作用。
  • 好的,所以发布您尝试过的内容和结果

标签: php session radio-button


【解决方案1】:

如果您添加代码,我将能够添加更详细的答案。

test2.php 更改为:

<?php

session_start();

if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = [
    'A' => 0,
    'B' => 0,
    'C' => 0,
  ];
}

$option = isset($_GET['choice']) ? $_GET['choice'] : false;

if ($option) {
  $_SESSION[count][$option]++;
}

echo '<ul>';
foreach ($_SESSION['count'] as $key => $value) {
  echo '<li>Radio Button ' . $key . ' - '. $value .' times.</li>';
}
echo '</ul>';

【讨论】:

  • 嘿,我试过你的代码,它在'A'之后提示了一个意外的'='错误和一个意外的'['。我不太明白语法
  • @LSY.E 再试一次!
【解决方案2】:

file2.php 的代码

<?php 
session_start();
if(isset($_GET['choice'])){//Check the get value.
    if(!isset($_SESSION['click'])){//Check the session exist or not. if not define new array with 0 to all R1,R2,R3.
        $_SESSION['click'] = array('R1'=>0,'R2'=>0,'R3'=>0);
    }
    // Assign the clicked button value to same key's array with +1;
    $_SESSION['click'][$_GET['choice']] = ($_SESSION['click'][$_GET['choice']]+1);
    echo "Your registration is: ".$_SESSION['click'][$_GET['choice']].'<p><a href="q.html">Back to main page</a>';
}
// Print your click count
echo '
<ul>
    <li>Radio Button A - '.$_SESSION['click']['R1'].' times</li>
    <li>Radio Button B - '.$_SESSION['click']['R2'].' times</li>
    <li>Radio Button C - '.$_SESSION['click']['R3'].' times</li>
</ul>';
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 2016-06-28
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2015-01-18
    相关资源
    最近更新 更多