S
Sascha | Designer
Guest
hallo leute.
ich baue gerade eine website mit 3spalten.
der header und footer werden per include_once in die index.php geladen.
mein suchformular ist in der index.php enthalten.
wenn ich nun was suche passiert folgendes.
ich bekomme eine liste mit den suchergebnissen.
und da ich "zufällig" einen begriff gewählt habe, der im content, header und im footer vorkommt, kann
ich auf die header.php und auf die footer.php zugreifen. DAS MUSS VERHINDERT WERDEN!!!
Aber wie?
hier ist meine code:
CODE
<form class=formbox action="searchresult2.php" method="post">
<input type="text" name="search" id="searchForm" value="--Ihr Suchbegriff--">
<input type="image" src="img/submit.jpg" name="submit">
</form>
<?php
//Welcher Dateityp soll durchsucht werden?
$dateityp = ".php"; //= alle HTML-Dateien (.htm, .html, .shtml)
//Wenn alternativ PHP-Dateien durchsucht werden sollen, geben Sie unter $dateityp .php ein.
$exceptions = array('header.php','footer.php');
while($file = readdir($verz));
{
if($file != "." && $file != ".." && !in_array($file, $exceptions) && !is_dir($file));
}
if(empty($search)) {$search=$_POST[search];}
if(strlen($search) < "3")
{echo "Geben Sie bitte einen Suchbegriff von mindestens 3 Buchstaben Länge ein.";exit;}
$found = "0";
$verz = opendir('.');
while($file = readdir($verz))
{
if($file != "." && $file != ".." && !is_dir($file))
{
$filetype = stristr($file, $dateityp);
if(!empty($filetype))
{
$string = file_get_contents($file);
$string = html_entity_decode($string);
$string = strtolower($string);
$search = strtolower($search);
$test = substr_count($string, $search);
if(!empty($test))
{
$string = ereg_replace("\n", "", $string);
$string = strip_tags($string);
$pieces = explode($search, $string);
$piece1 = substr($pieces[0], -50);
$piece1 = explode(" ", $piece1);
array_shift($piece1);
$piece1 = implode(" ", $piece1);
$piece2 = substr($pieces[1], 0, 100);
$piece2 = explode(" ", $piece2);
array_pop($piece2);
$piece2 = implode(" ", $piece2);
$rest = "$piece1<b>$search</b>$piece2";
$array .= "<b>$test Fundstelle/n</b> <br>$rest <br><a class=\"content\" href=\"$file\" target=\"_self\" class=\"link\"> $file</a><br><br>\n";
$found ++;
}}}}
closedir($verz);
if($found != "0")
{
echo "Es wurden <strong>$found</strong> Treffer gefunden sortiert nach der Häufigkeit des Vorkommens des Suchbegriffs:<br><br>";
$array = explode("\n", $array);
natsort($array);
reset($array);
$array = array_reverse($array);
while(list($line_num, $line) = each($array))
{
$ausgabe .= "$line\n";
}
print $ausgabe;
}
if($found == "0")
{ echo "Es wurden leider keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden !";}
?>
ich baue gerade eine website mit 3spalten.
der header und footer werden per include_once in die index.php geladen.
mein suchformular ist in der index.php enthalten.
wenn ich nun was suche passiert folgendes.
ich bekomme eine liste mit den suchergebnissen.
und da ich "zufällig" einen begriff gewählt habe, der im content, header und im footer vorkommt, kann
ich auf die header.php und auf die footer.php zugreifen. DAS MUSS VERHINDERT WERDEN!!!
Aber wie?
hier ist meine code:
CODE
<form class=formbox action="searchresult2.php" method="post">
<input type="text" name="search" id="searchForm" value="--Ihr Suchbegriff--">
<input type="image" src="img/submit.jpg" name="submit">
</form>
<?php
//Welcher Dateityp soll durchsucht werden?
$dateityp = ".php"; //= alle HTML-Dateien (.htm, .html, .shtml)
//Wenn alternativ PHP-Dateien durchsucht werden sollen, geben Sie unter $dateityp .php ein.
$exceptions = array('header.php','footer.php');
while($file = readdir($verz));
{
if($file != "." && $file != ".." && !in_array($file, $exceptions) && !is_dir($file));
}
if(empty($search)) {$search=$_POST[search];}
if(strlen($search) < "3")
{echo "Geben Sie bitte einen Suchbegriff von mindestens 3 Buchstaben Länge ein.";exit;}
$found = "0";
$verz = opendir('.');
while($file = readdir($verz))
{
if($file != "." && $file != ".." && !is_dir($file))
{
$filetype = stristr($file, $dateityp);
if(!empty($filetype))
{
$string = file_get_contents($file);
$string = html_entity_decode($string);
$string = strtolower($string);
$search = strtolower($search);
$test = substr_count($string, $search);
if(!empty($test))
{
$string = ereg_replace("\n", "", $string);
$string = strip_tags($string);
$pieces = explode($search, $string);
$piece1 = substr($pieces[0], -50);
$piece1 = explode(" ", $piece1);
array_shift($piece1);
$piece1 = implode(" ", $piece1);
$piece2 = substr($pieces[1], 0, 100);
$piece2 = explode(" ", $piece2);
array_pop($piece2);
$piece2 = implode(" ", $piece2);
$rest = "$piece1<b>$search</b>$piece2";
$array .= "<b>$test Fundstelle/n</b> <br>$rest <br><a class=\"content\" href=\"$file\" target=\"_self\" class=\"link\"> $file</a><br><br>\n";
$found ++;
}}}}
closedir($verz);
if($found != "0")
{
echo "Es wurden <strong>$found</strong> Treffer gefunden sortiert nach der Häufigkeit des Vorkommens des Suchbegriffs:<br><br>";
$array = explode("\n", $array);
natsort($array);
reset($array);
$array = array_reverse($array);
while(list($line_num, $line) = each($array))
{
$ausgabe .= "$line\n";
}
print $ausgabe;
}
if($found == "0")
{ echo "Es wurden leider keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden !";}
?>