Such-Script macht Probleme mit ".=" Zeichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Such-Script macht Probleme mit ".=" Zeichen

    Hallo,

    habe ein Suchscript für meine Webseite eingebunden, dass aber irgendwie mit Fehlern behaftet ist. Ich habe alle Fehler entfernen können, nur zwei Zeilen im Script, wo einer Variable mit .= ein Wert zugewiesen wird, spuckt eine Fehlermeldung aus. Die Suche funktioniert zwar, aber es sieht natürlich unschön aus, wenn da Fehler erscheinen.

    Mache ich den Punkt vor dem = weg, kommt zwar die Fehlermedung nicht mehr, dafür funktioniert die Suchfunktion nicht mehr. Dies sind die die entsprechenden Zeilen:

    PHP-Code:
    $array .= "<b>$test Fundstelle/n</b> <br>$rest <br><a href=\"$file\" target=\"_self\" class=\"link\">
     >> 
    $file</a><br><br>\n"
    und

    PHP-Code:
    $ausgabe .= "$line\n"
    DAs hier ist der komplette Code (entschuldigt mich, dass ich alles reinposte, aber ich denke mal, dass man so das Prob besser versteht!)

    <?php
    //Welcher Dateityp soll durchsucht werden?
    $dateityp = ".htm"; //= alle HTML-Dateien (.htm, .html, .shtml)
    //Wenn alternativ PHP-Dateien durchsucht werden sollen, geben Sie unter $dateityp .php ein.
    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[0], 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 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 !";}
    ?>

  • #2
    Re: Such-Script macht Probleme mit &quot;.=&quot; Zeichen

    Original geschrieben von schmidtsmikey
    Die Suche funktioniert zwar, aber es sieht natürlich unschön aus, wenn da Fehler erscheinen.

    Mache ich den Punkt vor dem = weg, kommt zwar die Fehlermedung nicht mehr, dafür funktioniert die Suchfunktion nicht mehr. Dies sind die die entsprechenden Zeilen
    toll

    und die fehlermeldung?

    vielleicht hilft's ja, die variablen vorher mit einem leeren string zu initialisieren...
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Au Ja, das wichtigste habe ich vergessen!

      PHP-Code:
      NoticeUndefined variable: array in C:\Server\Test\search.php on line 37 
      PHP-Code:
      NoticeUndefined variableausgabe in C:\Server\Test\search.php on line 50 

      Kommentar


      • #4
        Re: Re: Such-Script macht Probleme mit &quot;.=&quot; Zeichen

        Original geschrieben von mrhappiness
        vielleicht hilft's ja, die variablen vorher mit einem leeren string zu initialisieren...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Also,

          ich habe vor der entsprechenden Zeile die Variable mit einem leeren String initialisiert, also

          PHP-Code:
          $ausgabe " "
          ABer leider funzt dann das Script nicht mehr!

          Kommentar


          • #6
            Original geschrieben von schmidtsmikey
            ich habe vor der entsprechenden Zeile die Variable mit einem leeren String initialisiert, also

            PHP-Code:
            $ausgabe " "
            ABer leider funzt dann das Script nicht mehr!
            1. ist das kein leerer string, sondern ein string mit einem leerzeichen

            2. hast du wahrscheinlich die falsche stelle vor der entsprechenden zeile erwischt, aber ohne code...
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ahhh,

              super, es geht! Der Tipp mit dem Ort hat geholfen. Habe die Variablen $ausgabe und $array als global und ohne Wert initialisiert
              PHP-Code:
              $array ''
              Also nicht in der If-Bedingung selbst, sondern direkt am Anfang des ganzen Quellcode.

              Jetzt geht es auch! Vielen Dank erstmal an die schnelle Hilfe und vielleicht lernt ja auch jemand durch meine Frage!

              Kommentar

              Lädt...
              X