Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

probleempje met zoek script php

Anoniem
maartendd
8 antwoorden
  • Weer een probleem wat ik og nooit heb gehad en niet heb weten te verhelpen:
    Ik heb een zoekscript op men site waarmee je in de aangegeven pagina's kan zoeken, die pagina's geef je op in de broncode..Maar om de een of andere manier gebruikt hij de laatste paar pagina's helemaal niet….
    [code:1:946dd94f23]<html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Zoeken</title>
    </head>

    <body bgcolor="#DBC98A">
    <style>
    body, table, tr, td { font-family:arial; font-size: 12; color:white; }

    a { color: white; }

    a:hover { color: white; }



    </style>

    <?

    $resultaten=0;

    echo "<center>";

    echo "<form action=''>
    ";

    echo "Typ hier je zoekopdracht:<BR><input type=text name=q value='$q' size=50>
    ";

    echo "<input type=submit value='Zoek'>
    </form>
    ";



    ###lijst van pagina's
    ### geef hier de pagina's op waarin hij moet zoeken

    $pagina[1]='index.html';
    $pagina[2]='home.html';
    $pagina[3]='achilles.html';
    $pagina[4]='aeneas.html';
    $pagina[5]='ajax.html';
    $pagina[6]='helden.html';
    $pagina[7]='hetbegin.html';
    $pagina[8]='interactief.html';
    $pagina[9]='mythen.html';
    $pagina[10]='overons.html';
    $pagina[11]='personages.html';
    $pagina[12]='poll.php';
    $pagina[13]='apollodelphi.html';
    $pagina[14]='centaurs.html';
    $pagina[15]='charon.html';
    $pagina[16]='chimera.html';
    $pagina[17]='cyclopen.html';
    $pagina[18]='hydra.html';
    $pagina[19]='monsters.html';
    $pagina[20]='bouwwerken.html';
    $pagina[21]='narcissusecho.html';
    $pagina[22]='parisoordeel.html';
    $pagina[23]='orpheuseurydice.html';
    $pagina[24]='midasengoud.html';
    $pagina[25]='bellerophon.html';



    if($q){

    echo "<table>
    ";

    for($a=0; $a<count($pagina); $a++)

    {

    $paginadata[]=file($pagina[$a]);

    }



    for($i=0; $i<count($paginadata); $i++)

    {

    for($b=0; $b<count($paginadata[$i]); $b++)

    {

    if(eregi($q,$paginadata[$i][$b]))

    {

    $zoekres[]=$pagina[$i];

    }

    }

    }

    if(count($zoekres) > 0)

    {

    $zoekres2=array_unique ($zoekres);

    }



    for($i=0; $i<count($zoekres2); $i++)

    {

    if($zoekres2[$i])

    {

    $resultaten=$Resultaten+1;

    echo "<tr><td>$Resultaten<td><a href='".$zoekres2[$i]."'>".basename($zoekres2[$i])."</a></tr></td>
    ";



    }

    }

    echo "<tr><td colspan=2>";

    if($resultaten=1)

    {

    echo "Er is 1 resultaat gevonden";

    }

    else

    {

    echo "Er zijn $ resultaten resultaten gevonden";

    }

    echo "</tr></td>
    </table>";

    }

    ?>

    <small>


    </small>
    </body>

    </html>
    [/code:1:946dd94f23]






  • Kun je eens uitleggen wat de werking van dit script is? Ik kan hier niets van maken.

    Er zitten nogal wat fouten in het script die er zonder meer uitmoeten
    bijvoorbeeld

    [code:1:faa1a00a58]
    echo "Typ hier je zoekopdracht:<BR><input type=text name=q value='$q' size=50>
    ";
    [/code:1:faa1a00a58]
    Op deze manier wordt $q niet geparsed..

    [code:1:faa1a00a58]
    $resultaten=$Resultaten+1;
    [/code:1:faa1a00a58]
    Hier moet de tweede resultaten met een hoofdletter gespeld worden, PHP is hoofdlettergevoelig. Beter is trouwens om
    [code:1:faa1a00a58]
    $resultaten++
    [/code:1:faa1a00a58]
    te gebruiken.

    en
    [code:1:faa1a00a58]
    if($resultaten=1)
    [/code:1:faa1a00a58]
    Kun je ook beter veranderen in
    [code:1:faa1a00a58]
    if($resultaten === 1)
    [/code:1:faa1a00a58]
    Met een enkele = wijs je een waarde toe aan een variabele, met een dubbele kun je een vergelijking maken. (een driedubbele vergelijkt zelfs het type (int vs int etc)

    [code:1:faa1a00a58]
    echo "Er zijn $ resultaten resultaten gevonden";
    [/code:1:faa1a00a58]
    Gaat niet veel output opleveren. je bent nl een q vergeten achter $

    Maar dit zijn kleine dingen. Ik zie nu niet helemaal hoe het script werkt. Misschien dat je daar een voorbeeld van kunt geven. Wat bedoel je met: de laatste worden niet gebruikt.
  • http://www.members.lycos.nl/grieksemythen/zoeken.php (let nie op de overdosis *^%^reclame
    Je kan een zoekopdracht invullen, je klikt op zoeken en dan zoekt hij naar jouw zoekwoorden in de pagina's die in de broncode staan..Hij deede het helmaal…
    bedankt alvast
  • het werkt hier toch wel goed,

    er staat alleen onder: er is 1 resultaat gevonden, maar dat heeft met die enkele = te maken, zie mijn post hiervoor :)
  • kijk et zit zo:
    op zich werkt ie wel goed, alleen als ik bijv. intyp Orpheus als zoekopdracht, dan vindt hij maar 1 pagina waar dat in staat, terwijl ik meerdere pagina's heb opgegeven in de code waar oprheus in staat… :(
  • [quote:96c03a339f="maartendd"]http://www.members.lycos.nl/grieksemythen/zoeken.php (let nie op de overdosis *^%^reclame[/quote:96c03a339f]Lang leve adblock :D
  • [quote:192df87d8e="maartendd"]kijk et zit zo:
    op zich werkt ie wel goed, alleen als ik bijv. intyp Orpheus als zoekopdracht, dan vindt hij maar 1 pagina waar dat in staat, terwijl ik meerdere pagina's heb opgegeven in de code waar oprheus in staat… :([/quote:192df87d8e]Af en toe is Orpheus niet hetzelfde als orpheus.
  • het is niet hoofdletter gevoelig als je dat bedoeld met Orpheus is orpheus niet

    Maar somige woorden vind hij wel 2 of 3 keer en andere weer niet.

    Want waarom wordt "de" 3 keer gevonden en de letter "e" maar 2 keer terwijl die e toch in elk geval ook 3 keer moet voorkomen volgens mij…….

    Verder is het wel een erg handig script!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.