2015-11-17 44 views
1

我寫簡單的遊戲。我隨機化了兩個數字,然後用戶將您的總和值數字輸入到我在同一個網站上發送的輸入表單。現在,如果用戶猜測總和數字,他會得到10分,但如果他會錯過,失去了一次機會。php在刷新網站後保持變量值

我有問題,因爲如果我刷新網站我overiate他點和機會。任何解決方案

$_SESSION['points']; 
//$_SESSION['chance']; 
$X = rand(1, 10); 
$Y = rand(1, 10); 
echo $X . " " . $Y; 
?> 

    <form name="MyForm" action="" method="POST"> 

<input type="text" name="value"> 
<input type="hidden" value="<?= $X ?>" name="number"> 
<input type="hidden" value="<?= $Y ?>" name="number2"> 
<input type="submit" value="Generuj" name="Wynik?"/> 

</form> 
<?php 
if (!empty($_POST) && isset($_POST)) { 
    $user = $_POST['value']; 



if ($_POST['number'] * $_POST['number2'] == $user) { 

    echo ' ok !'; 
echo $_SESSION['points'] += 10; 

     } else { 
    echo 'error'; 
    // echo 'You lost one chance' . $_SESSION['chance']--; 

} 

} 
+3

你的腳本中有'session_start()'嗎? – Tristan

回答

-1

您可以簡單地使用PHP會話或PHP Cookie。

使用cookies(如果信息是不理智)

<?php 
     $value = 'something from somewhere'; 
     setcookie("TestCookie", $value); 
     setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */ 
    ?> 

然後你可以重複你的cookie這樣

<?php 
    echo $_COOKIE['TestCookie']; 
    ?> 

如果您使用Sessions

<?php 
    session_start(); 
    $_SESSION['myVar'] = $myValue; 
?> 

然後你可以用這種方式迴應它

<?php 
    echo $_SESSION['myVar']; 
?> 

請注意,對於會話,您始終必須在PHP文件的開始處開始會話。

+0

將隨機數字放在cookie中可能不是一個好主意。 OP似乎有某種彩票機制。 – Halcyon

+0

這取決於我會說的遊戲的性質,這就是爲什麼我用PHP寫了兩種方法來保持會話,如果你重新啓動,idk爲什麼你們會倒計票...... –

+0

你能解釋一下在什麼情況下100%可作弊的技工是可以接受的? – Halcyon