2017-12-28 17 views
-3

3つのラジオボタンとボタンを使用してフォームを作成し、「送信」をクリックすると、セッションを使用して選択された各ラジオボタンの量を示す次のページにリダイレクトされます。セッションのラジオボタンの値を保存する -

例:

ラジオボタンA、ラジオボタンBのいずれかを選択し、ラジオボタンC

は、

が選択された各ラジオボタンの量を示す次のページにもたらす

を提出
  • ラジオボタンA - 5回
  • ラジオボタンB - 2回
  • ラジオボタン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> 
+0

http://php.net/manual/en/tutorial.forms.php --- HTTPのためのあなたのコード/php.net/manual/en/features.sessions.php –

+0

私はあなたが望むものを手に入れましたが、あなたのコードを追加できますか? –

+0

@ChrisHappyデータベースを使用するためのコードしか持っていませんが、PHPセッションを使ってどのように行うのか分かりません。多くの例をオンラインで見ましたが、私がしたいことに適用しようとすると、うまく動作しません。 –

答えて

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>'; 
+0

私は自分のコードを貼り付けました。 –

+0

さて、コードを試してみてください! –

+0

ねえ、あなたのコードを試しましたが、予期しない '='の後に 'A'と予期しない '['が表示されます。私は構文をよく理解していません –

0

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>'; 
?> 
関連する問題