PHP:变量不增加

问题描述:

我正在使用HTML和PHP进行10轮的Rock,Paper和Scissors游戏。我遇到的唯一问题是$player,$comp$round不会增加,并且始终会达到初始值。可能是什么问题?PHP:变量不增加

这是我的PHP代码部分:

<?php session_start(); 

if(!isset($_SESSION['use'])) 
{ 
    header("Location:enter.php"); 
} 

if (isset($_GET['logout'])) { 
    session_destroy(); 
    unset($_SESSION['username']); 
    header("location: enter.php"); 
} 

$Computer='none'; 
$user_choice=''; 
$judgelose = array(); 
$judgewin = array(); 
$judgedraw = array(); 

$round=1; 
$player=0; 
$comp=0; 

if(isset ($_POST['choice'])) 
{ 

    $Choosefrom= array('Rock', 'Paper', 'Scissors'); 
    $Choice= rand(0,2); 
    $Computer=$Choosefrom[$Choice]; 
    $user_choice=$_POST['choice']; 

    if($user_choice == $Computer){ 
    array_push($judgedraw, 'Result : Draw'); 
    } 
    else if($user_choice == 'Rock' && $Computer == 'Scissors' || $user_choice == 'Scissors' && $Computer == 'Paper' || $user_choice == 'Paper' && $Computer == 'Rock'){ 
    array_push($judgewin, 'Result : Win'); 
    $player++; 
    } 
    else if($user_choice == 'Rock' && $Computer == 'Paper' || $user_choice == 'Scissors' && $Computer == 'Rock' || $user_choice == 'Paper' && $Computer == 'Scissors'){ 
    array_push($judgelose, 'Result : Lose'); 
    $comp++; 
    } 
} 
?> 
+3

您需要将这些值存储在会话中,否则每次加载页面时都会将其重置。 –

+0

乔恩是对的,你应该只是让你的评论的答案... – Theyouthis

您需要将这些值存储在会话以及否则每次加载它们将被重置的页面。 PHP不会记住页面加载之间的值。这是会议的目的。您应该检查该值是否存在于会话中并获取它。如果它不存在,请设置一个初始默认值。然后,对变量进行许多任何更改并最终将其保存回会话中。例如:

//check if the session for somevalue exists 
if(isset($_SESSION['somevalue'])){ 
    //get it 
    $somevalue = $_SESSION['somevalue']; 
} else { 
    //set a default value if not isset 
    $somevalue = 0; 
} 

//do something with somevalue 
$somevalue++; 
//continue doing something with somevalue 

//at bottom, save somevalue back into session. 
$_SESSION['somevalue'] = $somevalue;