2017-01-03 61 views
0

用戶可以鍵入他們想要的團隊數量,並且輸入的數量將顯示在屏幕上以便從用戶輸入。我已經做到了。但是我想將輸入的值賦給我的數組元素,如$ loops [$ i] = $ _ GET ['team'。$ i。''] for for循環。這樣,我可以看到我的數組由用戶輸入的元素。我試圖在我的代碼中將它們分配給for循環。但是我看不到我想要的結果。有任何語法錯誤,但我相信,我做了邏輯錯誤。任何人都可以幫忙嗎?預先感謝您的幫助。如何將我的輸入值分配給我的數組?

 <form method="get" name="teamNumber" style="margin:auto;"> 
     <label>Competition Name:&nbsp; 
       <input type="textbox" name="competitionName"/></br></br> 
      </label> 
      <label>How many teams you want to add:&nbsp; 
       <input type="textbox" name="teamnumber"/></br></br> 
      </label> 
      <input type="submit" name="sub" value="Create Teams!"/></br></br> 
     </form> 

<?php 

    $competitionName=$_GET['competitionName']; 
    $teamnumber=$_GET['teamnumber']; 
    $submit=$_GET['sub']; 
    $draw=$_GET['draw']; 
    $teams=array(); 



      if(isset($submit)) 
      { 
       if ($teamnumber==1||$teamnumber==3||$teamnumber==5||$teamnumber==6||$teamnumber==7||$teamnumber==9||$teamnumber==11||$teamnumber==13||$teamnumber==14|| 
        $teamnumber==15||$teamnumber==17||$teamnumber==18||$teamnumber==19||$teamnumber==20||$teamnumber==21||$teamnumber==22|| 
        $teamnumber==23||$teamnumber==24||$teamnumber==25||$teamnumber==26||$teamnumber==27||$teamnumber==28||$teamnumber==29|| 
        $teamnumber==30||$teamnumber==31 /* && $teamnumber>32 */) 
        { 
         echo '<p>'.'You typed invalid team number'.'</p>' ; 
        } 

        else{  
          echo '<form method="get" name="addTeam">'; 

          for($i=1;$i<=$teamnumber;$i++) 
          { 
           echo '<label> <input type="textbox" name="team'.$i.'" value=" Team'.$i.'"/> </label> <br> <br>' ; 
          } 


         switch($teamnumber) 
         { 
         case $teamnumber==2: 
          echo '<label> <input type="submit" value="Draw Final Round" name="draw"> </label>'. '</form>'; 
          break; 
         case $teamnumber>3 && $teamnumber<=4: 
          echo '<label> <input type="submit" value="Draw Semi-Finals Round" name="draw"> </label>'. '</form>'; 
          break; 
         case $teamnumber>4 && $teamnumber<=8: 
          echo '<label> <input type="submit" value="Draw Quarter-Finals Round" name="draw"> </label>'. '</form>'; 
          break; 
         case $teamnumber>8 && $teamnumber<=16: 
          echo '<label> <input type="submit" value="Draw 16 Round" name="draw"> </label>'. '</form>'; 
          break; 
         case $teamnumber>16 && $teamnumber<=32: 
          echo '<label> <input type="submit" value="Draw 32 Round" name="draw"> </label>'. '</form>'; 
          break; 
         } 


         }//end of else 

       }// end of if 

       if(isset($draw)) 
       { 
        echo '<p>'.$competitionName.'</p>' ; 

        for($j=1;$j<=$teamnumber;$j++) 
        { 
         $teams[$j]=$_GET['team'.$j.'']; 
         echo '<p> Team'.$j.':'.$teams[$j].'</p>' ; 
        } 


       } 


?> 
+0

你爲什麼不使我們的,如果這樣的'如果(in_array($ teamnumber,陣列(1,3,5)))'等 – SuperDJ

+0

$ teamnumber不是數組元素。該變量僅用於獲取我輸入值的值。我的數組元素必須是for循環中輸入的值。這不是我的答案,但無論如何感謝。 –

+0

我知道'$ teamnumber'不是一個數組。你可以檢查'$ teamnumber'的值是否在數組數組中。這使得你的陳述方式更容易維護和閱讀 – SuperDJ

回答

0

您將GET值直接傳遞給變量而不檢查是否設置。這會導致錯誤。

嘗試這樣的事情。

if (isset($_GET['sub'])) { 
    if(!isset($_GET['competitionName']) || !isset($_GET['competitionName'])) { 
    echo 'Your Error Message'; 
    } 
    else { 
     $competitionName=$_GET['competitionName']; 
     $teamnumber=$_GET['teamnumber']; 
     $submit=$_GET['sub']; 
     //$draw=$_GET['draw']; 
     $teams=array(); 

     if($teamnumber % 2 == 0) { 
     //Code to be executed. switch statement and form in your case. 
     } 
     else { 
     //warn user when input value is odd. 1,3,5,7 etc 
     echo '<p>'.'You typed invalid team number'.'</p>' ; 
     } 
    } 
    // Code to be executed here. in your case for loop 
} 
+0

謝謝你縮短了我的代碼,男人。那看起來好多了。但這不是我的答案。 –

+0

我的代碼適用於這些數據,因爲我可以在地址欄上看到輸入的數據,但我仍然無法看到我的顯示器上的數據很尷尬:( –

相關問題