Php Can';我不理解为什么设置了数组,但处理后数组为空
第42行是错误。我不知道为什么它一直说它不是数组,而是一个部分,但在第42行找不到数组。我尝试将行更改为($_POST['CINS']作为$cNum=>$v)和($CINS作为$cNum=>$v)。如有任何见解或帮助,将不胜感激Php Can';我不理解为什么设置了数组,但处理后数组为空,php,arrays,associative,Php,Arrays,Associative,第42行是错误。我不知道为什么它一直说它不是数组,而是一个部分,但在第42行找不到数组。我尝试将行更改为($_POST['CINS']作为$cNum=>$v)和($CINS作为$cNum=>$v)。如有任何见解或帮助,将不胜感激 <?php $title = "fTest.php"; $action=$_SERVER['PHP_SELF']; include("html-head.inc"); echo <<<HEREDOC <header> <h1&g
<?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
?>
<代码> > p>您的复选框名称应如下所示,将其视为数组
<input type="checkbox" name="CINS[]" value = "1" />
名称是一个数组,我找到了一个不应该存在的备用名称
你的编码风格会引起很多麻烦。我把它清理了一点,我想这种款式会更容易处理
<?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; ?>
你的选择是:
请将数组粘贴到此处打印($\u POST['CINS');唯一出现的是无效参数错误命名约定与作为数组处理的$\u POST
无关。@aguyfromhere:It's ok for$\u POST
。关于$\u POST['CINS']
?@nauphal,当您将HTML中的命名项传递给PHP处理程序时,superglobals$\u POST和$\u会被视为对象,因此它们内部已经有嵌套数组。名为CINS的HTML输入自动被称为$_REQUEST['CINS']。@aguyfromhere我感到困惑,您是否建议复选框的名称正确为CINS
,而不是CINS[]
?@aguyfromhere:不明白您想说什么。老实说,我不太确定该标记来自何处。我以为我把它拿出来了。但是谢谢你指出。你找到解决这个问题的方法了吗?