使用表单发布XML值 - php

我已经将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文件中实例化,还是没有出现语法错误?

谢谢

参考方案

似乎您没有回声。您需要使用:

<?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
}

preg_replace排除<a href='''> </a> PHP - php

我正在使用preg_replace来替换带有href标签的文本中的关键字,我的正则表达式工作非常好,现在我的代码是:$newstring2 = preg_replace("/\p{L}*?".preg_quote($match[$i])."\p{L}*/ui", "<a href='"…

代码未在服务器目录php中创建文件 - php

我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…

CodeIgniter更新查询被执行两次 - php

我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

通过php表单修改我的xml文件 - php

这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…