Hallo,
ich habe nen Problem.
Ich habe ne Suchmaschine.
Wenn ich auf suchen geh kommt aber nicht das was gesucht werden soll!
Schaut euch das selber an!
New Document
Ich hoffe wir kriegen hin!
eine blöde frage: unterstützt dein server PHP? mir siehts nicht danach aus…
Nils aka XraYSoLo
Ja er Ünterstütz php usw.
Datenbank auch !
Sonst hätte cih ja kein Forum machen können:wink:
hmm…wieso führt er dann das script nicht aus?
post’ mal den quellcode, mal sehen, ob da was drin ist.
Nils aka XraYSoLo
ich will ja nix sagen aber php fängt nun mal so an:
[PHP]<?php[/PHP]
und nicht so
[PHP]<?php[/PHP]
und es endet so
[PHP]?>[/PHP]
und nicht so
[PHP]?>[/PHP]
da ham wirs ja…sowas hatte ich schon gedacht, weswegen wird das sonst nicht interpretiert…
Nils aka XraYSoLo
Und why gehts nicht?
Welchen Queltext?
VOm Suche oder von den einstellungen?
der quelltext ist mit HTML übersetzt worden, das kann ja nicht klappen…
Nils aka XraYSoLo
Wie mache ich es zu .php?
Im neuen Design ist das glaub .php
oder?
einfach so abspeichern:
[php]
<?php ########################################################### # # (c) PlaNet Concept e.K., Lars Odermath, 2003 # ########################################################### # # :: planetSearch :: Version vom 05.10.2003 # # COPYRIGHT NOTICE # Copyright 2003 PlaNet Concept e.K. # All Rights Reserved. # EMail: kontakt@planetc.de # URL : http://www.planetc.de # # :: planetSearch :: darf für private Homepages kostenlos benutzt und geändert # werden, solange SÄMTLICHE Copyright-Verweise und die restlichen Kommentare erhalten # bleiben. # # Mit dem Einsatz dieses Skripts akzeptieren Sie, daß PlaNet Concept e.K., # Lars Odermath, von jeglicher Haftung und Gewährleistung hinsichtlich des # Einsatzes befreit ist. # # Der Verkauf dieses Skripts, auch in modifizierter Form, ist ohne vorherige # Absprache ausdrücklich untersagt! (Mit anderen Worten: Bitte fragen Sie uns, # bevor Sie versuchen, mit unserem Script Geld zu verdienen.) # # Sollten Sie den Copyright-Verweis in der Ausgabe des Scriptes nicht anzeigen # oder das Script auf kommerziellen Seiten einsetzen wollen, können Sie dies gegen die # Entrichtung einer Lizenz-Gebühr in Höhe von € 36,00 zzgl. der gesetzl. MWSt. tun. # Senden Sie uns dazu bitte eine eMail und geben u.a. die URL für das Script an. # Sie erhalten dann umgehend eine Rechnung von uns. # # BITTE LESEN UND BEACHTEN SIE UNSERE NUTZUNGSBEDINGUNGEN FÜR DIE SCRIPTE!!! # Die Nutzungsbedingungen finden Sie in der der beigefügten "nutzungsbedingungen.txt" # und unter http://www.planetc.de/download/nutzungsbedingungen.html # ########################################################### ########################################################### ############################# include ("./inc/config.inc.php"); ############################# $root_dir = $_SERVER["DOCUMENT_ROOT"].$from_dir."/"; @setlocale("LC_ALL", "de_DE"); # Suchbegriff(e) übernehmen und umwandeln $search_exp = strip_tags($_POST["search_exp"]); ############################# #Prüfen, ob ein Suchbegriff eingegeben wurde if (!empty($search_exp)) { # Sonderzeichen entfernen $frrepl = array("=\+=", "=\s+="); $torepl = array("", " "); $search_exp = preg_replace( $frrepl, $torepl, $search_exp); $search_exp = preg_quote($search_exp); $search_exp = trim($search_exp); # Zeichenanzahl des Suchbgeriffes prüfen if (strlen($search_exp) < $sexp_length) { // Template laden $tmpl = join('', file("./tmpl/search_error.htm")); $tmpl = preg_replace("=\[search_error_count\]=", $error_count, $tmpl); $tmpl = preg_replace("=\[search_error_empty\]=", "", $tmpl); eval('?>' . $tmpl);} else {
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.php“));
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);
}
#################################################
}
}
#############################
Wenn kein Suchbegriff eingegeben wurde
else {
# Template laden
$tmpl = join(‚‘, file(„./tmpl/search_error.php“));
$tmpl = preg_replace(„=[search_error_count]=“, „“, $tmpl);
$tmpl = preg_replace(„=[search_error_empty]=“, $error_empty, $tmpl);
eval(‚?>‘ . $tmpl);
}
#############################
#################################################
Function für den Verzeichnisdurchlauf und die Trefferermittlung
function walk_dir($dir, $pos=2)
{
global $search_exp, $search_arr, $search_count, $arr, $ignore_dir, $dat_type, $root_dir, $search_area, $cont_part, $no_title, $search_pages, $arr_all;
$handle = @opendir($dir);
while ($file = @readdir ($handle))
{
if (preg_match("=^\.{1,2}$=",$file))
{
continue;
}
$cut_dir = preg_replace("=$root_dir=siU", "", $dir); // Verzeichnisse zum Vergleich anpassen
if (in_array($cut_dir, $ignore_dir)) continue; // zu ignorierende Verzeichnisse auslassen
if (preg_match('=(_vti_cnf|_notes)=i', $cut_dir)) continue;
if(is_dir($dir.$file))
{
walk_dir($dir.$file."/", $pos + 3);
}
else
{
#########################################
# Suche und Trefferanzeige
#########################################
$abs_dir = preg_replace("=$root_dir=","",$dir); // absoluten Pfad ermitteln
if (preg_match("=(\.$dat_type)$=",$file)) { // wenn eine Datei eine zulässige Endung hat...
$str = join('', file("$dir$file")); // ...Datei einlesen
if (!preg_match("=\<\!\-\-.no_search.\-\-\>=siU", $str)) { // auf auszuschließende Seiten prüfen
$str = ch_uml($str); // Umlaute verarbeiten
// Titel ermitteln
preg_match("=<title>(.*)</title>=siU", $str, $title);
// Meta-Beschreibung ermitteln
preg_match('=<meta.*name\="description".*content\="(.*)".*>=siU',$str,$descr);
// Keywords
preg_match('=<meta.*name\="keywords".*content\="(.*)".*>=siU',$str,$keyw);
// zu durchsuchender Bereich
if ($search_area==1) { // Titel, Description, Keywords
$a = "$title[1]"."$descr[1]"."$keyw[1]";
}
else { // alles
$str = preg_replace("=\<\!\-\-.no_search_start.\-\-\>.*?\<\!\-\-.no_search_stop.\-\-\>=s", "", $str);
$a = preg_replace("=<script.*>.*<\/script>=siU", "", $str); // JavaScript-Code entfernen
$a = preg_replace("=<\?.*?\?>=s", "", $a); // PHP-Tags löschen um nur Text zu durchsuchen
$a = preg_replace("=(<[^>]+>)=siU", "", $str); // Tags löschen um nur Text zu durchsuchen
$a .= "$title[1]"."$descr[1]"."$keyw[1]";
}
$i=0;
foreach ($search_arr as $search_word) { // jeden Suchbegriff prüfen
if (preg_match("=($search_word)=i", $a)) { // wenn Suchbegriff vorkommt...
$anz_searchexp += preg_match_all("=$search_word=siU", $a, $nullinger);
$i++; // i für jeden gefundenen Suchbegriff erhöhen
if ($i==$search_count) { // wenn ALLE Suchbegriffe gefunden wurden...
if (!empty($title[1])) // Title der Seite auslesen
{
$new_title = "$title[1]";
$new_path = "/$abs_dir$file";
}
else {
$new_title = "$no_title";
$new_path = "/$abs_dir$file";
}
if (!empty($descr[1])) // description auslesen
{
$new_descr = "$descr[1]";
}
else {
$new_descr = "";
}
if (!preg_match("=^\(\.\*\)$=", $new_title)) {
$s_show = array();
$s_show[] = $anz_searchexp;
$s_show[] = $new_title;
$s_show[] = $new_descr;
$s_show[] = $new_path;
array_push($arr_all, $s_show);
}
unset($str, $anz_searchexp);
}
}
}
}
}
#########################################
#########################################
}
}
$cont_part = $arr_all;
return ($cont_part);
@closedir($handle);
}
Funktion ende
#################################################
// Umlaute bearbeiten
function ch_uml($del_uml) {
$del_uml = preg_replace(„=ä=“, „ä“, $del_uml); // Umlaute und ß
$del_uml = preg_replace(„=ö=“, „ö“, $del_uml);
$del_uml = preg_replace(„=ü=“, „ü“, $del_uml);
$del_uml = preg_replace(„=Ä=“, „Ä“, $del_uml);
$del_uml = preg_replace(„=Ö=“, „Ö“, $del_uml);
$del_uml = preg_replace(„=Ü=“, „Ü“, $del_uml);
$del_uml = preg_replace(„=ß=“, „ß“, $del_uml);
return ($del_uml);
} // end func
#################################################
?>
[/php]
Nils aka XraYSoLo
Ich habs gemacht, womit soll ich das den machen ich öffne die textseite per Frontpage und füg das neue ein ist das richtig?
So ist veröffentlich guckt ihr mal?
Also bei mir kommt Error
Mod-Edit: Dreifachpost zusammengeführt - Also langsam wirds kriminell, benutz’ endlich mal die Editierfunktion (XraYSoLo)
frontpage, ojeee, dann klappts erst nicht, machs mit einem normalen texteditor.
Nils aka XraYSoLo
Eine kurze Zwischenfrage:
@XraYSoLo
wie bist du an den gnazen Quelltext gekommen? Yusuf hat doch garkeinen gepostet!
Gruß
Steffen
Betsimmt über Queltext!
So ich ahbe es egmacht mit Tetxdatei dann über ftp://yusufg.com gemacht und jetzt kommt da was blaues mit warning usw!
Kannst du es nicht machen mit .php und dann schist du es mir und ich mache es direkt über FileZila hoch?
Mod-Edit: Dreifachpost zusammengeführt (XraYSoLo)
der war falsch interpretiert, dann konnte man ihn sehen
Yusuf, wenn du nochmal 'nen doppelpost herstellst, schließ ich hier, das ist schon das dritte mal, dass ich das korrigieren muss…
Nils aka XraYSoLo
Sry, und kannst du das machen?
wie du siehst, ja.
ich musste das ja schon mehrmals editieren und zusammenfügen.
also, in zukunft hälste dich bitte dran, einfach die editierfunktion benutzen, wenn dir noch eine information in den kopf kommt, wenn der erste post schon geschrieben ist. viele der user lesen sich ohnehin das komplette gespräch durch, also muss man keine bedenken haben, dass editiertes nicht zum zuge kommt.
Nils aka XraYSoLo
Ich glaub er meint die .php Datei erstellen
Ja, aber why geht das nicht?
Kennt ihr einen Suchmaschinen funktion zum Downloaden.
Was auch keinen Datenbank benötigt!
dein ding braucht auch keine datenbank.
füg’ den quellcode einfach in einen TEXTeditor ein und speicher’ ihn unter der endung PHP ab und NICHT mit frontpage, denn frontpage spuckt nur müll aus.
Nils aka XraYSoLo