xpath搜索php
我一直收到以下错误消息xpath搜索php,php,xml,xpath,Php,Xml,Xpath,我一直收到以下错误消息 Notice: Undefined index: txtSearch in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11023553/public_html/holiday/searchprocess.php on line 11 Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: Invalid expression in /
Notice: Undefined index: txtSearch in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11023553/public_html/holiday/searchprocess.php on line 11
Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: Invalid expression in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11023553/public_html/holiday/searchprocess.php on line 22
Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: xmlXPathEval: evaluation failed in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11023553/public_html/holiday/searchprocess.php on line 22
Warning: Invalid argument supplied for foreach() in /var/www/vhosts/numyspace.co.uk/web_users/home/~unn_w11023553/public_html/holiday/searchprocess.php on line 26
Title
然后我尝试运行我的搜索文件
<?php
include('functions.php');
$header = makeHeader();
// create an instance
$holidayDoc = simplexml_load_file('http://numyspace.co.uk/~unn_w11023553/holiday/holidays.xml');
// set $studytype to either the upper case request or null
$txtSearch = $_GET["txtSearch"];
// set the query using the studytype
if (!is_null($txtSearch)) {
$qry = "//channel/item[description[contains(text(),\"$txtSearch\")]]";
}
else {
// blank search entered so all holidays are shown.
$qry = "/channel/'ALL'";
}
$holidays = $holidayDoc->xpath($qry); // do the xpath query LINE 17
// now loop through all the students
echo "<table border=\"1\">\n";
echo "<tr><td>Title</td></tr>\n";
foreach ($holidays as $holiday) //LINE 21
{
echo
echo <p><strong><a href = '$link'>'$holiday'</a></strong></p>
<p><small>$published</small></p>";
}
$footer = makeFooter();
第一个警告告诉您txtSearch
不是查询字符串参数的$\u GET
数组中的值。例如,在调用脚本的url中没有?txtSearch=something
因此,您需要检查如何调用脚本。是否设置了querystring参数?你拼写对了吗
您可以通过执行var\u dump($\u GET)
替换来调试$\u GET
的内容
$txtSearch = $_GET["txtSearch"];
与
希望这有帮助
if( isset( $_GET["txtSearch"] ) && ( trim( $_GET["txtSearch"] ) != '' ) ) {
$txtSearch = $_GET["txtSearch"];
} else {
$txtSearch = null;
}