Steffi: Error 500

Beitrag lesen

hallo,

kennt jemand das Script planetsearch?

Nein. Woher auch?

Aus dem Internet.

Es ist so programmiert, dass Fehlermeldungen kommen, falls man das Suchfeld leer lässt, bzw. nur 1 oder 2 Buchstaben rein schreibt.

Das sind keine echten Fehlermeldungen, sondern Scriptmeldungen.

Okay, bin leider nicht so firm in der Computersprache.

Die Fehlermeldungen funtkionieren, aber wenn ich ein Wort eingebe und auf den Button klicke kommt nur das:
Das angegebene Skript konnte nicht fehlerfrei ausgeführt werden!

Wichtiger als dieser Satz ist die Mitteilung, daß es sich um Error 500 handelt.

Und was bedeutet der Error 500???

Woher weiß ich jetzt, was falsch ist?

Du schaust dir dein Script an, prüfst, was passieren soll, wenn ein Wort eingegeben wird, und korrigierst genau diese Stelle so lange, bis das passiert, was du gerne haben möchtest.

Wenn man etwas davon versteht, ist das bestimmt kein Problem, aber wenn ich es könnte, hätte ich hier nicht gepostet.

Hier der Link zu dem Suchfeld: http://www.katzenundhundetipps.de/Test/suchfeld.htm

Erstens ist das kein Link (wie das mit Links geht, steht in der Forums-FAQ), zweitens nutzt das gar nichts. Du müßtest schon den entsprechenden Teil deines Scripts posten.

Hier ist der entsprechende Teil:

Suchbegriffe in Array umwandeln und zählen

$search_arr = explode(" ",$search_exp);
$search_count = count($search_arr);

"Dummy"-Array für Such-Array erzeugen

$arr = array();
$arr_all = array();

Template laden

$tmpl = join('', file("./tmpl/search_result.htm"));

Bereich der Trefferanzeige aus dem Template ziehen

preg_match_all("=[SEARCH_START](.*)[SEARCH_STOP]=siU", $tmpl, $between);

$search_pages = 0;

$cont_part = walk_dir($root_dir);  // Verzeichnisdurchlauf starten

$search_pages = count($cont_part); // Anzahl der Trefferseiten

rsort($cont_part); // Array sortieren

for ($j=0; $j<$search_pages; $j++) { // Arrays auslesen
 list($anz_searchexp, $title, $descr, $new_path) = $cont_part[$j];
 $content = preg_replace("=[SEARCH_TITLE]=", "$title", $between[1][0]);
 $content = preg_replace("=[SEARCH_LINK]=", "$from_dir"."$new_path", $content);
 $content = preg_replace("=[SEARCH_DESC]=", "$descr", $content);
 $content = preg_replace("=[SEARCH_COUNT]=", "$anz_searchexp", $content);
 $cont_x .= $content;
}

// Suchergebnis zusammenstellen und anzeigen
$tmpl = preg_replace("=[SEARCH_START](.*)[SEARCH_STOP]=siU", $cont_x, $tmpl);
$search_exp = str_replace('\', '', $search_exp);
$tmpl = preg_replace("=[SEARCH_WORDS]=", $search_exp, $tmpl);
$tmpl = preg_replace("=[SEARCH_PAGES]=", $search_pages, $tmpl);

if (empty($cont_part)) {
    $tmpl = preg_replace("=[NO_MATCH]=", $no_match, $tmpl);
} else {
    $tmpl = preg_replace("=[NO_MATCH]=", "", $tmpl);
}

eval('?>' .  $tmpl);

#################################################

Logdatei schreiben

foreach ($search_arr as $search_exp) {

$zeilen = file("./_log/search_log.txt");
$anz_zeilen = sizeof($zeilen);

$x=0;

Datenfile auslesen

for ($i=0; $i<$anz_zeilen; $i++) {

list ($search_word, $search_num) = split("\|", chop($zeilen[$i]));

// wenn Suchbegriff gefunden wird
 if ($search_exp==$search_word) {
  $search_num++;
  $i-2;
  $x++;
 }
     $new_log .= "$search_word|$search_num\n";
}

// wenn der Suchbegriff nicht schon geloggt wurde
if ($x==0) {
 $search_num = "1";
    $new_log .= "$search_exp|$search_num\n";
}

$data = fopen("./_log/search_log.txt","w+");
flock($data,1);
fwrite($data, $new_log);
flock($data,3);
fclose($data);
unset($new_log);
}
#################################################

Gruß

Steffi

Grüße aus Berlin

Christoph S.