我已将XPath搜索集成到我的网站,当用户搜索时,会向他们显示结果以及每个搜索结果的复选框,如下所示。
<form action="saveProcess.php" method="POST">
<?php
foreach ($holidays as $holiday)
{
$resultTable .= "<p><a href=\"{$holiday->link}\">{$holiday->title}</a>" . "<br/>" .
"{$holiday->pubDate}" . "<br>" .
"{$holiday->description}" .
"<input type='checkbox' name='chk[]' value='{$holiday->title}' />" . "<br /></p>";
}
?>
<input type="submit" name="btnOutput" value="submit"/>
</form>
单击复选框并单击提交按钮时,我希望将{$holiday->title}
的值发布到saveProcess.php
并回显。目前我遇到了错误Notice: Undefined index: chk in saveProcess.php
<?php
$title = $_POST['chk']
echo $title;
?>
这是什么原因?可能是因为没有在saveProcess.php文件中实例化XML文件,或者是否存在我没有看到的语法错误?
由于
答案 0 :(得分:3)
似乎你回声任何东西。你需要使用:
<?php
$resultTable = '';
foreach ($holidays as $holiday)
{
$resultTable .= "<p><a href=\"{$holiday->link}\">{$holiday->title}</a>" . "<br/>" . "{$holiday->pubDate}" . "<br>" . "{$holiday->description}" . "<input type='checkbox' name='chk[]' value='{$holiday->title}' />" . "<br /></p>";
}
echo $resultTable;
?>
因为您的元素名称末尾有[]
,所以它表示您希望将其$ _POST值作为数组的一部分。它在PHP中看起来像这样:
array(0 => 'First value', 1 => 'Second value', 2 => 'Third value)
如果您需要单独处理每个值,可以遍历它:
foreach($_POST['chk'] as $check_value)
{
// process $check_value
}