1

我已将 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;
?>

这是什么原因?可能是 XML 文件没有在 saveProcess.php 文件中实例化,还是我没有看到语法错误?

谢谢

4

1 回答 1

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
}
于 2012-04-09T10:42:17.773 回答