2013-03-29 3 views
-2

행 42가 오류입니다. 왜 배열이 하나의 섹션이 아니라 42 행의 배열을 찾지 못한다고 말하고 있는지 계속 확신 할 수 없습니다. 행을 ($ _POST [ 'CINS']를 $ cNum => $로 변경하려고했습니다. v)와 ($ CINS as $ cNum => $ v). 모든 통찰력이나 도움을 주시면 감사하겠습니다.배열이 설정된 이유를 이해할 수 없지만 처리 후 배열이 null입니다.

<?php 
$title = "fTest.php"; 
$action=$_SERVER['PHP_SELF']; 
include("html-head.inc"); 
echo <<<HEREDOC 
<header> 
<h1>$title</h1> 
</header> 
HEREDOC; 

if (!isset($_POST['submit'])) 
{ 
     echo "<form method=\"post\" action=\"$action\">"; 
$CINS = array('101' => "CINS101", 
       '108' => "CINS108", 
       '121' => "CINS121", 
       '251' => "CINS251", 
       '254' => "CINS254"); 
     echo "<p>Please pick your CINS classes:</p>"; 
     echo "<ul>\n"; 
foreach ($CINS as $key => $value) 
{ 
     echo "<li>"; 
     echo "<input type=\"checkbox\" name=\"CINSc\" value=\"$value\"/>CINS$key" ; 
     echo "</li>\n"; 
}     
     echo "</ul>\n"; 
     echo "<input type=\"reset\" name=\"reset\" value\"Reset\" />"; 
     echo "<input type=\"submit\" name=\"submit\" value\"Submit\" />"; 
     echo "</p>"; 
echo is_array($CINS) ? 'Array' : 'Not an array'; 
echo "\n"; 
     echo "</form>"; 
} // ends IF PORTION for ISSET 
else  
{   
if (count($_POST['CINS'] > 0)) 
{   
     echo "<h2> Your picks are: </h2>\n"; 
     echo "<ul>\n"; 
echo is_array($CINS) ? 'Array' : 'Not an array'; 
foreach ($_POST['CINS'] as $cNum => $v) //This is the error. 
{ 
     echo "\t<li>$v</li>\n"; 
} // end of FOREACH cins 
     echo "</ul>\n"; 
} // end of IF count CINS 
} // end of ELSE portion for ISSET 
?> 
+1

여기에 배열을 붙여 넣기를 원하십니까? print_r ($ _ POST [ 'CINS']); –

+0

유일하게 올 수없는 것은 잘못된 인수 오류 – Nick

답변

3

귀하의 체크 박스 이름은 <input> 이름이 배열 배열

<input type="checkbox" name="CINS[]" value = "1" /> 
+0

명명 규칙은 배열로 처리되는'$ _POST '와 아무런 관련이 없습니다. –

+0

@aguyfromhere :'$ _POST '에 대한 확인. '$ _POST [ 'CINS']'는 어떨까요? – Nauphal

+0

@aguyfromhere http://www.php.net/manual/en/faq.html.php#faq.html.arrays –

0

로 고려 아래와 같이해야하고, 내가 거기 안 여분의 </p>을 발견했습니다.

코딩 스타일로 인해 많은 헤드가 생길 수 있습니다. 나는 이것을 약간 닦아 냈다. 나는이 스타일을 다루기가 훨씬 쉬울 것이라고 생각한다.

<?php 
$title = "fTest.php"; 
$action=$_SERVER['PHP_SELF']; 
include("html-head.inc"); 
?> 

<header> 
<h1><?=$title?></h1> 
</header> 

<?php if (!isset($_POST['submit'])): ?> 
    <?php $CINS = array('101' => "CINS101", 
         '108' => "CINS108", 
         '121' => "CINS121", 
         '251' => "CINS251", 
         '254' => "CINS254"); ?> 
    <form method="post" action="<?=$action?>"> 
     <p>Please pick your CINS classes:</p> 
     <ul> 
     <?php foreach ($CINS as $key => $value): ?> 
      <li> 
      <input type="checkbox" name="CINS[]" value="<?=$value?>" />CINS<?=$key?> 
      </li> 
     <?php endforeach; ?> 
     </ul> 
     <input type="reset" name="reset" value"Reset" /> 
     <input type="submit" name="submit" value"Submit" /> 
     </p> <!-- THIS TAG IS EXTRA WHERE DID IT COME FROM --> 
     <?= is_array($CINS) ? 'Array' : 'Not an array' ?> 
    </form> 
<?php else if (count($_POST['CINS'] > 0)): ?> 
    <h2>Your picks are: </h2> 
    <ul> 
    <?= is_array($CINS) ? 'Array' : 'Not an array' ?> 
    <?php foreach ($_POST['CINS'] as $cNum => $v): ?> 
     <li><?=$v?></li> 
    <?php endforeach; ?> 
    </ul> 
<?php endif; ?> 
+0

솔직히 말해서, 그 태그가 왔어. 나는 그것을 꺼내 주었다고 생각했다. 하지만 그것을 지적 해 주셔서 감사합니다. – Nick

+0

이 문제의 해결책을 찾았습니까? –