2016-03-07 194 views
1

我問用戶他想擲骰子多少次。 腳本顯示輸出。保存會話變量被覆蓋

session_start(); 
$number = $_POST["dice"]; // capture the amount of rolls from htmlpage 
$count1 = 0; //have six of these, for each number 

然後,我開始初始化存儲在服務器端的會話變量。

$_SESSION["one"] = $count1; // for all six different numbers 

echo "You rolled a 1 " . $_SESSION["one"] . " times<br>"; 

我的問題很自然,會話變量不存儲舊的卷,但在每次卷重置。我該如何去改變這個?

我想我需要的東西像isset(_SESSION["one"]但在這裏我的邏輯放棄了我。任何幫助讚賞。

+0

'如果(isset($ VAR)&&!空(是$ var)){//設置VAR}' –

+0

你能更好地解釋什麼ÿ你在努力實現嗎?可以幫助更好。每卷的某種輸出等。 –

+0

準確地說,如何增加已設置的變量? – droppyboxi

回答

0

我重讀你的問題:

<?php 
session_start(); 

$number_of_rolls = $_POST['dice']; 

for($i = 0; $i <= $number_of_rolls; ++$i) 
{ 
    $roll_result = roll_dice_algorithm(); 
    $_SESSION['rolls'][$roll_result] = (isset($_SESSION['rolls'][$roll_result]) ? ($_SESSION['rolls'][$roll_result]+1) : 1); 
} 

ksort($_SESSION['rolls']); 

foreach($_SESSION['rolls'] as $k=>&$v) 
{ 
    echo 'You have rolled a '.$k.': '.$v.' times<br>'; 
} 
unset($v); 
?> 
0

你自己說的,你intialize會話變量,你運行你的腳本每次......

$_SESSION["one"] = $count1; // for all six different numbers 

所以它總是會重新開始......試試這個

$_SESSION["one"] = isset($_SESSION["one"]) ? $_SESSION["one"] : 0;