引用网上的代码,尝试做站内搜索,虽低效率,但还是不能正常运行,求高手解答
<?php
include("./include/common.inc");
$title = "Search";
include("./include/front.inc");
?>
<P><BR>
<FORM action="<?php echo $_SERVER["PHP_SELF"];?>" METHOD="POST"><BR>
<INPUT value="aaron" name=searchstr SIZE="20" MAXLENGTH="30"><BR>
<INPUT type=submit value=Search!><BR>
</FORM><BR></P><BR>
<?php
if( !empty($searchstr) )
{
//echo $_SERVER["PHP_SELF"];echo "$searchstr";
echo "Test1 <HR>\n";
$cmdstr = "grep -i $searchstr *";
$fp = popen( $cmdstr, "r" );
$myresult = array();
while( $buffer = fgetss ($fp, 4096))
{
list($fname, $fline) = split(":",$buffer, 2);
if ( !defined($myresult[$fname]))
$myresult[$fname] = $fline;
}
if ( count($myresult) )
{
echo "<OL>\n";
while(list($fname,$fline) = each($myresult))
echo "<LI><BR><A href='http://www.pc65.com\"$fname\"'>$fname</A> : $fline \n";
echo "</LI></OL>\n";
}else {
echo "Sorry. Search on <B>$searchstr</B><BR>returned no results.<BR>\n";
}
pclose($fp);
}else{
//echo "Test 2";
}
include("include/tail.inc");
?>
<?php
include("./include/common.inc");
$title = "Search";
include("./include/front.inc");
?>
<P><BR>
<FORM action="<?php echo $_SERVER["PHP_SELF"];?>" METHOD="POST"><BR>
<INPUT value="aaron" name=searchstr SIZE="20" MAXLENGTH="30"><BR>
<INPUT type=submit value=Search!><BR>
</FORM><BR></P><BR>
<?php
if( !empty($searchstr) )
{
//echo $_SERVER["PHP_SELF"];echo "$searchstr";
echo "Test1 <HR>\n";
$cmdstr = "grep -i $searchstr *";
$fp = popen( $cmdstr, "r" );
$myresult = array();
while( $buffer = fgetss ($fp, 4096))
{
list($fname, $fline) = split(":",$buffer, 2);
if ( !defined($myresult[$fname]))
$myresult[$fname] = $fline;
}
if ( count($myresult) )
{
echo "<OL>\n";
while(list($fname,$fline) = each($myresult))
echo "<LI><BR><A href='http://www.pc65.com\"$fname\"'>$fname</A> : $fline \n";
echo "</LI></OL>\n";
}else {
echo "Sorry. Search on <B>$searchstr</B><BR>returned no results.<BR>\n";
}
pclose($fp);
}else{
//echo "Test 2";
}
include("include/tail.inc");
?>
<?php
include("./include/common.inc");
$title = "Search";
include("./include/front.inc");
?>
<P><BR>
<FORM action="<?php echo $_SERVER["PHP_SELF"];?>" METHOD="POST"><BR>
<INPUT value="aaron" name=searchstr SIZE="20" MAXLENGTH="30"><BR>
<INPUT type=submit value=Search!><BR>
</FORM><BR></P><BR>
<?php
if( !empty($searchstr) )
{
//echo $_SERVER["PHP_SELF"];echo "$searchstr"; echo "Test1 <HR>\n";
$cmdstr = "grep -i $searchstr *";
$fp = popen( $cmdstr, "r" );
$myresult = array();
while( $buffer = fgetss ($fp, 4096))
{
list($fname, $fline) = split(":",$buffer, 2);
if ( !defined($myresult[$fname]))
$myresult[$fname] = $fline;
}
if ( count($myresult) )
{
echo "<OL>\n";
while(list($fname,$fline) = each($myresult))
echo "<LI><BR><A href='http://www.pc65.com\"$fname\"'>$fname</A> : $fline \n";
echo "</LI></OL>\n";
}else {
echo "Sorry. Search on <B>$searchstr</B><BR>returned no results.<BR>\n";
}
pclose($fp);
}else{
//echo "Test 2";
}include("include/tail.inc");
?>
效率高,而且不占用你的服务器资源
????
这种形式的使用,需要 register_globals = on
并且,即便是 register_globals = on 你的变量名也写错了
if( !empty($Searchstr) )
php 的变量名和数组关联键是区分大小写的你应该写作
if( !empty($_POST['Searchstr']) )