0

次のエラーメッセージが表示され続けます

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();

?>

約2時間それをいじっていて、それでも私がどこで間違っているのか理解できないので、どんな洞察も大いに感謝されます、ありがとう。

4

2 に答える 2

0

最初の警告は、クエリ文字列パラメーターtxtSearchの配列の値ではないことを示しています。$_GETたとえば?txtSearch=something、スクリプトを呼び出す URL に no が含まれています。

そのため、スクリプトの呼び出し方法を確認する必要があります。クエリ文字列パラメーターは設定されていますか? 正しく綴りましたか?

$_GETを実行することで、 の内容を少しデバッグできますvar_dump($_GET)

于 2012-04-13T12:32:46.223 に答える
0

交換

$txtSearch = $_GET["txtSearch"];

if( isset( $_GET["txtSearch"] ) && ( trim( $_GET["txtSearch"] ) != '' ) ) {
    $txtSearch = $_GET["txtSearch"];
} else {
    $txtSearch = null;
}

お役に立てれば。

于 2012-04-13T13:31:09.643 に答える