2015-06-15 79 views
3

我做了一個簡單的程序,用戶必須猜測虛擬骰子滾動的值。PHP中的骰子滾動程序

這裏是HTML和PHP:

<body> 
<h2 id="heading"> We're gonna roll a dice! <br><small>And you have to guess which number the dice will roll.</small></h2> 
<form action="" method="post"> 
<div id="test-container"> 
    <p>Select your guess: </p> 
    <select class="form-control" id="select" name="dice"> 
     <option value="">Select...</option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     <option value="5">5</option> 
     <option value="6">6</option> 
    </select> 
</div> 
<button id="submit" type="submit" type="button" name="roll" class="btn btn-primary">Roll!</button> 
<?php 
if(isset($_POST['roll'])) 
{ 
$dice = $_POST['dice']; 
$rand = rand(1,6); 
if($dice == $rand) 
{ 
    echo "<br>" . "your guess is correct! The number rolled by the dice was " . $rand . "!"; 
} 
else{ 
    echo "<br>" . "your guess is wrong! The number rolled by the dice was " . $rand . " but the number you entered was " . $dice . "!"; 
} 

} 

?> 
</form> 
</body> 
</html> 

代碼本身的工作,但是這不是問題。 當我按下提交,我想下面的gif(位於中間的按鈕,返回的輸出)出現,而不用循環打只有一次:

I want it to be in-between the button and the echoed output

我試過很多方法做到這一點,但他們都沒有工作!

我知道我需要一個圖像編輯器來防止它永遠循環。至於顯示它,語法是echo "<img src='handroll.gif'>",因爲我剛剛發現。

+4

在圖像編輯軟件中編輯GIF,並使GIF不可循環。由於您在每次提交時重新加載頁面,它應該按預期工作。 – alesc

+0

你能推薦一個好的圖像編輯軟件來做到這一點嗎? @alesc – Anjunadeep

+0

你可以將圖像放在你的HTML中,用CSS隱藏,當表單被提交時(你有提交事件),你可以取消隱藏它。只有我不確定的是,當圖像出現時,動畫將會完成。如果是這樣,那麼您必須使用JavaScript將圖像動態添加到HTML中。 – MilanG

回答

2

您是否試過在滾動骰子後將$ _POST [roll]的值設置爲null。正如我所看到的,只要單擊按鈕並且您本身不「重新初始化」,該值始終保持爲真。

if(isset($_POST['roll'])) { 
// all that you need to do 

// as the last line or something like this 
$_POST['roll'] = null; 
} 

因爲通常當您提交表單時,表單數據或提交狀態會重置,會話值也會重置。

如果上述不起作用,您還可以嘗試一個表單/輸入類型=提交設置。通過jquery/js來驅動按鈕點擊更容易。

+1

這個答案並沒有真正起作用,但我在評論部分得到了答案,但無論如何,都有贊成Cx – Anjunadeep

+0

在這種情況下,請添加答案並將其標記爲正確答案,因爲這可能會誤導他人誰可能會浪費時間來嘗試這種方法,謝謝你的觀點,但如果我有足夠的信用,我會自己寫下評論,我真的不打算這麼做這是一個答案,但作爲一個建議。 – amrita