2017-04-12 69 views
0

1這是什麼PHP:如何計算/循環第二輸入

2我有什麼問題

3什麼是竊聽

1這是什麼

由於這仍然是相同的程序介紹保持不變

這是關於編程一個小數字遊戲。我認爲它也被稱爲主謀。遊戲有以下規則。

有兩名球員

第一的首發球員類型5號

那麼第二個類型的玩家5個號碼,從第一個球員

的PROGRAMM有呼應多少個號碼猜測的數字第二位玩家的位置是正確的,並且有多少數字被正確猜測。

的PROGRAMM具有運行fiew倍,因爲玩家二包含多次嘗試

我想用一個公式推爲雙方球員如果可能的話又名一個提交按鈕

我不想知道如何這個程序被編碼爲一個整體,但我有一些步驟的具體問題。

2.我有什麼問題

球員三三兩兩輸入應該被計算在內。我需要這些信息來在特定時間停止遊戲。我重寫了我的問題,因爲第一個問題得到了正確的回答。

我該怎麼做?循環如何看起來像? 是否有可能刪除播放器的一個公式並在屏幕上顯示後回顯?

通常我知道一個循環是如何工作的,但是我之前沒有使用循環提交。

3.錯誤/調試 這次得到了我的索引。

代碼

<?php 


    session_start(); 
    $_SESSION['geraten'] = 1; 
    if($_SESSION['geraten'] == 1) { 
     echo "<br>"; 
     echo "Spieler 1"; 
     echo "<form method='post'>"; 
     echo "chose your five numbers/Wähle deine 5 Zahlen<br>"; 
     echo "<input type='text' name='one' size='1' maxlength='1'>"; 
     echo "<input type='text' name='two' size='1' maxlength='1'>"; 
     echo "<input type='text' name='three' size='1' maxlength='1'>"; 
     echo "<input type='text' name='four' size='1' maxlength='1'>"; 
     echo "<input type='text' name='five' size='1' maxlength='1'>"; 
     echo "<input type='submit' name='gesendet' value='OK'>"; 
     echo "</form>"; 
     echo "<br>"; 
     echo "{$_SESSION['geraten']}"; 




     //player one is starting here 

     //<input type="password" name="one" size="1" maxlength="1"> 
     //<input type="password" name="two" size="1" maxlength="1"> 
     //<input type="password" name="three" size="1" maxlength="1"> 
     //<input type="password" name="four" size="1" maxlength="1"> 
     //<input type="password" name="five" size="1" maxlength="1"> 

      //<input type="submit" name="gesendet" value="ok"></button> <br /> 
     //</form> --> 



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

     $one = $_POST['one']; 
     $two = $_POST['two']; 
     $three = $_POST['three']; 
     $four = $_POST['four']; 
     $five = $_POST['five']; 
// array to safe the input of player one with sessions 
     $_SESSION['anumberone'][0] = $one; 
     $_SESSION['anumberone'][1] = $two; 
     $_SESSION['anumberone'][2] = $three; 
     $_SESSION['anumberone'][3] = $four; 
     $_SESSION['anumberone'][4] = $five; 

     foreach ($_SESSION['anumberone'] as $ausgabe) { 

      echo "$ausgabe"; 

     } 
     } 
    } 

     // how can i count the second submits? 

     else { 
      //start with player two here! 
     echo "<br>"; 
     echo "Spieler 2"; 
     echo "<form method='post'>"; 
     echo "Ihre Ziffern:<br>"; 
     echo "<input type='text' name='sechs' size='1' maxlength='1'>"; 
     echo "<input type='text' name='sieben' size='1' maxlength='1'>"; 
     echo "<input type='text' name='acht' size='1' maxlength='1'>"; 
     echo "<input type='text' name='neun' size='1' maxlength='1'>"; 
     echo "<input type='text' name='zehn' size='1' maxlength='1'>"; 
     echo "<input type='submit' name='submitzwei' value='OK'>"; 
     echo "</form>"; 

     if(!empty($_POST['submitzwei'])){ 
      $sechs = $_POST['sechs']; 
      $sieben = $_POST['sieben']; 
      $acht = $_POST['acht']; 
      $neun = $_POST['neun']; 
      $zehn = $_POST['zehn']; 

      $_SESSION['geraten']++; 

      $_SESSION['anumber2'][0] = $sechs; 
      $_SESSION['anumber2'][1] = $sieben; 
      $_SESSION['anumber2'][2] = $acht; 
      $_SESSION['anumber2'][3] = $neun; 
      $_SESSION['anumber2'][4] = $zehn; 

      foreach ($_SESSION['anumber2'] as $ausgabe) { 

       echo "$ausgabe"; 
       echo "<br>"; 
       echo "{$_SESSION['geraten']}"; 
      } 

     } 
     } 



     ?> 

回答

1

應該計算球員的兩次輸入。我需要這些信息在某個時間停止 遊戲。我重寫了我的問題,因爲第一個 已被正確回答。

我該怎麼做?

有多種方法來做到這一點,例如: -
- 使用會話存儲試算
- 使用數據庫來存儲和獲取試算
- 與存儲在硬盤/壞的方式將您的數量存入文件並在需要時進行檢索。
- 它會拋出客戶端使用JavaScript。

循環如何看起來像?

取決於你將如何做到這一點。

是否有可能刪除播放器的一個公式並在屏幕上顯示回顯後回顯?

是的,用javascript可以操縱你的DOM文檔

+0

該會話如何嘗試計數看起來像?我不想使用JavaScript,因爲我必須在PHP(和html)中完成此程序。是否有另一種可能性來清理屏幕,或者我應該使用第二個文件的HTML呢? – flightofthepenguin

+0

'該會話如何嘗試計數看起來像?'我認爲@Bram提到的例子解釋了 – hassan

+0

'是否有另一種清理屏幕的可能性,或者我應該使用第二個html文件?',是的,但是這會讓你使用php刷新整個頁面。 – hassan

1

我想你想看看PHP Session Variables。這樣您可以加載Session變量並對數字進行增量。

在東西的風格:

// Initialise the variable on top of the code somewhere. 
// Should only run once. 
$_SESSION['times_guessed'] = 0; 

// In your logic where you want to do the increment. 
$_SESSION['times_guessed']++; 

您還可以在這裏看到manual一個基本的例子。

+0

類:所以我不得不把時代猜到上面的玩家二或進入球員兩個提交?它似乎我必須從HTML分離代碼來得到這個正確完成... – flightofthepenguin

+0

不起作用。它仍然不算。 – flightofthepenguin

+0

我發現你已經想出瞭如何在發佈答案時使用會話變量:)恭喜。 – Bram

1

,因爲我在這裏這樣它的工作使用的代碼。

session_start(); 

//should count up 

if (!isset($_SESSION['geraten'])) { 
    $_SESSION['geraten'] = 0; 
} else { 
    $_SESSION['geraten']++; 
} 

$runde = $_SESSION['geraten'] - 1 ; 


if($_SESSION['geraten'] == 1) { 
    echo "<br>"; 
    echo "Spieler 1"; 
    echo "<form method='post'>"; 
    echo "chose your five numbers/Wähle deine 5 Zahlen<br>"; 
    echo "<input type='text' name='one' size='1' maxlength='1'>"; 
    echo "<input type='text' name='two' size='1' maxlength='1'>"; 
    echo "<input type='text' name='three' size='1' maxlength='1'>"; 
    echo "<input type='text' name='four' size='1' maxlength='1'>"; 
    echo "<input type='text' name='five' size='1' maxlength='1'>"; 
    echo "<input type='submit' name='gesendet' value='OK'>"; 
    echo "</form>"; 
    echo "<br>"; 
    echo "{$_SESSION['geraten']}";