Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何分配输入';我的数组的值是多少?_Php_Arrays_For Loop_Input - Fatal编程技术网

Php 如何分配输入';我的数组的值是多少?

Php 如何分配输入';我的数组的值是多少?,php,arrays,for-loop,input,Php,Arrays,For Loop,Input,用户将键入他们想要的团队数量,并且该数量的输入将显示在屏幕上,由用户键入。我已经做到了。但我想将输入的值分配给数组的元素,比如for循环中的$teams[$I]=$\u GET['team'.$I.']。这样,我就可以看到用户输入的数组元素。我尝试在代码中使用for循环分配它们。但我看不到我想要的结果。有语法错误,但我相信,我犯了逻辑错误。有人能帮忙吗?提前感谢您的帮助 <form method="get" name="teamNumber" style="margin:a

用户将键入他们想要的团队数量,并且该数量的输入将显示在屏幕上,由用户键入。我已经做到了。但我想将输入的值分配给数组的元素,比如for循环中的$teams[$I]=$\u GET['team'.$I.']。这样,我就可以看到用户输入的数组元素。我尝试在代码中使用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>' ;
                    }


                }


 ?>

比赛名称:


要添加多少个团队:




您直接将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
}
if(isset($\u GET['sub'])){
如果(!isset($_GET['competitionName'])| |!isset($_GET['competitionName'])){
回显“您的错误消息”;
}
否则{
$competitionName=$\u GET['competitionName'];
$teamnumber=$\u获取['teamnumber'];
$submit=$_GET['sub'];
//$draw=$_GET['draw'];
$teams=array();
如果($teamnumber%2==0){
//要执行的代码。切换语句和窗体。
}
否则{
//当输入值为奇数时警告用户。1、3、5、7等
回显“”。“您键入的团队编号无效。”

; } } //要在此处执行的代码。对于循环 }
if(在数组($teamnumber,array(1,3,5))etc中,$teamnumber不是数组元素。该变量仅用于获取输入值的值。我的数组元素必须是for循环中输入的值。这不是我的答案,不过还是要谢谢你。我知道
$teamnumber
不是数组。您可以检查
$teamnumber
的值是否在数字数组中。这使你的if语句更容易维护和阅读,我明白你的意思了。谢谢你的提示,谢谢你缩短了我的密码。这看起来比以前好多了。但这不是我的答案。我的代码会显示数据,这是有效的,因为我可以在地址栏上看到输入的数据。但我仍然看不到显示器上的数据,这很尴尬:(