Avatar billede caturn Nybegynder
03. december 2001 - 21:30 Der er 3 kommentarer og
1 løsning

Fejl i søgescript!

Er der nogen der kan følge fejl i følgende script?:
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<title>Caturn</title>
<link rel=\"stylesheet\" href=\"../style.css\" type=\"text/css\">
</head>
<body>
<center><big>Caturn Søg</big></center><hr>
<form method=\"post\" action=\"index.php\">
<input type=\"text\" name=\"search\"> <input type=\"submit\" value=\"Søg\">
</form>
<?
if ($search) {
    $m1 = file(\"http://www.caturn.f2s.com/soeg/keyword1.txt\");
    $t = count($m1);
    for ($i = 0 ; $i < $t ; $i++) {
        $c = $m1[$i];
        if ($search == $c) {
            $n = file(\"http://www.caturn.f2s.com/soeg/titel.txt\");
            $d = file(\"http://www.caturn.f2s.com/soeg/beskriv.txt\");
            $a = file(\"http://www.caturn.f2s.com/soeg/adresse.txt\");
            ?>
            <table border=\"1\">
            <tr>
            <td>
            <b><? echo $n[$i]; ?></b><br>
            <? echo $d[$i]; ?><p>
            <a href=\"<? echo $a[$i]; ?>\">Gå til siden</a>
            </td>
            </tr>
            </table>
            <?
        }
        if ($search != $m1[$i]) {
            $l++;
        }
    }

    $m2 = file(\"http://www.caturn.f2s.com/soeg/keyword2.txt\");
    $t = count($m2);
    for ($i = 0 ; $i < $t ; $i++) {
        $c = $m2[$i];
        if ($search == $c) {
            $n = file(\"http://www.caturn.f2s.com/soeg/titel.txt\");
            $d = file(\"http://www.caturn.f2s.com/soeg/beskriv.txt\");
            $a = file(\"http://www.caturn.f2s.com/soeg/adresse.txt\");
            ?>
            <table border=\"1\">
            <tr>
            <td>
            <b><? echo $n[$i]; ?></b><br>
            <? echo $d[$i]; ?><p>
            <a href=\"<? echo $a[$i]; ?>\">Gå til siden</a>
            </td>
            </tr>
            </table>
            <?
        }
        if ($search != $m2[$i]) {
            $l++;
        }
    }

    $m3 = file(\"http://www.caturn.f2s.com/soeg/keyword3.txt\");
    $t = count($m3);
    for ($i = 0 ; $i < $t ; $i++) {
        $c = $m3[$i];
        if ($search == $c) {
            $n = file(\"http://www.caturn.f2s.com/soeg/titel.txt\");
            $d = file(\"http://www.caturn.f2s.com/soeg/beskriv.txt\");
            $a = file(\"http://www.caturn.f2s.com/soeg/adresse.txt\");
            ?>
            <table border=\"1\">
            <tr>
            <td>
            <b><? echo $n[$i]; ?></b><br>
            <? echo $d[$i]; ?><p>
            <a href=\"<? echo $a[$i]; ?>\">Gå til siden</a>
            </td>
            </tr>
            </table>
            <?
        }
        if ($search != $m3[$i]) {
            $l++;
        }
    }

    $m4 = file(\"http://www.caturn.f2s.com/soeg/keyword4.txt\");
    $t = count($m4);
    for ($i = 0 ; $i < $t ; $i++) {
        $c = $m4[$i];
        if ($search == $c) {
            $n = file(\"http://www.caturn.f2s.com/soeg/titel.txt\");
            $d = file(\"http://www.caturn.f2s.com/soeg/beskriv.txt\");
            $a = file(\"http://www.caturn.f2s.com/soeg/adresse.txt\");
            ?>
            <table border=\"1\">
            <tr>
            <td>
            <b><? echo $n[$i]; ?></b><br>
            <? echo $d[$i]; ?><p>
            <a href=\"<? echo $a[$i]; ?>\">Gå til siden</a>
            </td>
            </tr>
            </table>
            <?
        }
        if ($search != $m4[$i]) {
            $l++;
        }
    }

    $m5 = file(\"http://www.caturn.f2s.com/soeg/keyword5.txt\");
    $t = count($m5);
    for ($i = 0 ; $i < $t ; $i++) {
        $c = $m5[$i];
        if ($search == $c) {
            $n = file(\"http://www.caturn.f2s.com/soeg/titel.txt\");
            $d = file(\"http://www.caturn.f2s.com/soeg/beskriv.txt\");
            $a = file(\"http://www.caturn.f2s.com/soeg/adresse.txt\");
            ?>
            <table border=\"1\">
            <tr>
            <td>
            <b><? echo $n[$i]; ?></b><br>
            <? echo $d[$i]; ?><p>
            <a href=\"<? echo $a[$i]; ?>\">Gå til siden</a>
            </td>
            </tr>
            </table>
            <?
        }
        if ($search != $m5[$i]) {
            $l++;
        }
    }
    if ($l == count($m1) + count($m2) + count($m3) + count($m4) + count($m5)) {
        echo \"Dit søgeord gav ingen resultater!\";
    }
}
?>
</body>
</html>
Avatar billede lauer Nybegynder
03. december 2001 - 21:41 #1
hvad kommer der af fejl?
Avatar billede caturn Nybegynder
04. december 2001 - 15:38 #2
Den skriver ikke nogen fejl men når jeg foreksempel søger på \"underholdning\" så selvom der står \"underholdning\" i keyword1.txt så skriver den bare: \"Dit søgeord gav ingen resultater!
Avatar billede caturn Nybegynder
04. december 2001 - 15:39 #3
\" hehe...
Avatar billede zenith_ Nybegynder
06. december 2001 - 19:40 #4
Til at starte med, så drop de 4 sidste søgninger, og fokuser på at få EN af dem til at virke.
Næst skal du så lige kigge på det der søgehalløj, når du læser i en fil på den måde som du gør, så er det linjer du læser ud. Jeg antager nu at du har ét søgeord pr. linje....
Hvis du læser her: http://www.php.net/manual/en/function.file.php så kan du se at den læser det HELE ud, med newline karakterer osv, derfor vil det IKKE være det samme ord du finder, selvom de umiddelbart ser ens ud. En anden ting er, brug (som der bliver foreslået) chop() til at strippe strengen fra filen for newline karakterer osv.
Sidste ting jeg kan foreslå er at teste for om du får filen åbnet korrekt, det står der ligeledes noget om på siden, nemlig at den returnerer en \"boolean\" istedet for et array såfremt det ikke lykkedes at åbne filen.
Skulle det stadig ikke virke, så må du at fejlsøge mere advanceret, f.eks. ved at printe hvad du får ud fra filen vha. echo (uhh...advanceret :-)
Ser det den printer umiddelbart ud til at være ens med hvad du søger på, så prøv at få den til at printe newlines som \"!\" eller hvad du nu lyster, vha. en eregi_replace()
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester