Php 如何分配输入';我的数组的值是多少?
用户将键入他们想要的团队数量,并且该数量的输入将显示在屏幕上,由用户键入。我已经做到了。但我想将输入的值分配给数组的元素,比如for循环中的$teams[$I]=$\u GET['team'.$I.']。这样,我就可以看到用户输入的数组元素。我尝试在代码中使用for循环分配它们。但我看不到我想要的结果。有语法错误,但我相信,我犯了逻辑错误。有人能帮忙吗?提前感谢您的帮助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
<form method="get" name="teamNumber" style="margin:auto;">
<label>Competition Name:
<input type="textbox" name="competitionName"/></br></br>
</label>
<label>How many teams you want to add:
<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语句更容易维护和阅读,我明白你的意思了。谢谢你的提示,谢谢你缩短了我的密码。这看起来比以前好多了。但这不是我的答案。我的代码会显示数据,这是有效的,因为我可以在地址栏上看到输入的数据。但我仍然看不到显示器上的数据,这很尴尬:(