Avatar billede jahamnej Nybegynder
28. december 2004 - 09:11 Der er 3 kommentarer og
1 løsning

submit problem i søge-script

Hej,

jakobdo har været så venlig at brygge dette søge script sammen til mig...

<form style="display:inline;" action="Template_C.php" method="GET">
<input type="text" class="formSearch" name="search">
<input type="submit" class="knapSearch" name="sSearch" value="Søg">
</form>

<?php

function file_get_contents($file)
{
  return implode("",file($file));
}

if(isset($_GET['sSearch']))
{
    $dir = "/wwwroot/tg/Pages/"; //Dit HTML bibliotek

    // Open a known directory, and proceed to read its contents
    if (is_dir($dir))
    {
        if ($dh = opendir($dir))
        {
            while (($file = readdir($dh)) !== false)
            {
                if (is_file($dir . $file))
                {
                    $indhold = file_get_contents($dir . $file);
                    $searchString = "/.{0,150}" . $_GET['search'] . ".{0,150}/si";
                    if (preg_match($searchString, strip_tags($indhold), $match))
                    {
                      $fileName = substr($file, 0, strrpos($file, "."));
                      echo "<a href=\"template_a.php?page=../Pages/" . $fileName . "\">" . $fileName . "</a> :<br> " .  $match[0] . "...<br><br>";
                    }
                    //Her skal vi så søge i filens indhold... Og det kan godt komme til at tage noget tid...
                }
            }
            closedir($dh);
        }
        else
        {
            echo "opendir failed";
        }
    }
    else
    {
        echo "$dir is not a Directory";
    }
}

?>

Scriptet fungerer fint, bortset fra et lille problem ved sumbit. Hvis man skriver noget og trykker enter, så går søgningen i gang (ser det ud til) men der bliver ikke returneret noget. Men søger man på det samme, og trykker på submit knappen fremfor at trykke enter, så får man pludselig en masse resultater. Det er pænt irriterende...

Der findes kun den form på siden, og der er kun en submit knap, så den er altså ikke forvirret.

Kan man få den til at funge ved enter, eller måske slå enter helt fra, så den overhovedet ikke reagerer på det?
Avatar billede erikjacobsen Ekspert
28. december 2004 - 09:13 #1
Udskift


<form style="display:inline;" action="Template_C.php" method="GET">
<input type="text" class="formSearch" name="search">
<input type="submit" class="knapSearch" name="sSearch" value="Søg">
</form>

med


<form style="display:inline;" action="Template_C.php" method="GET">
<input type="text" class="formSearch" name="search">
<input type="hidden" name="sSearch" value="1">
<input type="submit" class="knapSearch" value="Søg">
</form>
Avatar billede jahamnej Nybegynder
28. december 2004 - 09:19 #2
:) Jo, det virkede jo meget simpelt. Takker!

Smid et svar.
Avatar billede erikjacobsen Ekspert
28. december 2004 - 09:23 #3
Nej tak, jeg samler ikke på point. Svar selv, accepter eget svar.
Avatar billede jahamnej Nybegynder
28. december 2004 - 09:26 #4
oki, som du vil. Men mange tak da...
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