ilch Forum » Allgemein » HTML, PHP, SQL,... » Simples Such Script

Geschlossen
  1. #1
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Hey,

    Für ein Projekt musste ich eine kleine Suchfunktion erstellen, da diese eigentlich weniger was für Clan's ist, sonder mehr für Firmen etc. werde ich es erstmal so anbieten und nicht als Modul.

    Die Suchfunktion arbeitet so, dass wenn man ein Wort eingibt, die komplette Seite durchsucht wird, die in der Navigation verlinkt ist (Queltext wird durchsucht).

    Wie baue ich die Suchfunktion in meine Homepage ein?

    1. Öffne deine index.htm und ersetze {EXPLODE} mit

    <div id="anfsearch">{EXPLODE}</div><div id="end"></div>


    2. Erstelle eine PHP datei namen testsearch.php in include/contents und füge folgenden Code ein

    <?php
    defined ('main') or die ( 'no direct access' );
    
    
    $title = $allgAr['title'].' :: Suche';
    $hmenu = 'Suche';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    function comment_decode($string)
    {
    	$string = preg_replace("/(\<\!\-\-.*\-\-\>)/sU", "", $string);	
    	return $string;
    }
    $suche = escape($_POST['search'],'string');
    ?>
    
    <form method="post" action="?testsearch"> 
    	<input type="text" name="search" value="<?php echo $suche; ?>" /><input type="submit" name="submit" value="Suchen" />
    </form>
    <?php
    if(isset($_POST['submit']) AND !empty($suche)){	
    	$query = '
    		SELECT * FROM prefix_menu WHERE was = "7" or was = "9"
    	';
    	$sql = db_query($query);
    	$i = '0';
    	while($row = db_fetch_object($sql)){
    		$content = file_get_contents('http://localhost/ilch/index.php?'.$row->path);
    		
    		$content = explode('<div id="anfsearch',$content);	
    		$content = $content[1];
    		$content = explode('<div id="end"',$content);
    		$content = $content[0];
    		$content = comment_decode($content);	
    		$content = strip_tags($content);
    		if(strpos($content,$suche)){
    			echo '<h2><a href="?'.$row->path.'">'.$row->name.'</a></h2>';
    			$content = str_replace($suche,'<b>'.$suche.'</b>',$content);
    			$content = wordwrap($content,'80','WRRRR/0');
    			$content = explode('WRRRR/0',$content);
    			
    			foreach($content AS $ar){
    				if(strpos($ar,$suche)){
    					echo $ar.'...<br />';
    				}
    			}
    			$i++;		
    			
    		}
    		
    	}
    	if($i == '0'){
    		echo 'Keine Suchergebnisse gefunden!';
    	}
    }
    else{
    	echo 'Keine Suchergebnisse gefunden!';
    }
    $design->footer();
    ?>


    3. erstelle eine suche.php Datei in include/boxes und füge folgenden Code ein

    <?php
    defined ('main') or die ( 'no direct access' );
    ?>
    <form method="post" action="?testsearch"> 
    	<input type="text" name="search" /><br />
        <input type="submit" name="submit" value="Suchen" />
    </form>


    4. Verlinke die box oder menüpunkt im Admin Bereich
    2 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    könnte man dies nicht auch mit in der Standart Ilch suche mit einbauen?

    search.php

    Extra Punkt machen alles durchsuchen anstatt Forum, News?
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Ja könnte man machen
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    und wie? lächeln hab es zwar gestern versucht aber ich glaub die Ausgabe oder die nach was suche ist dabei ein Problem und daran scheiterts denke
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Würd mich auch mal intressieren
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    jop fänd ich auch super
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Pion Hall Of Fame
    Registriert seit
    25.07.2007
    Beiträge
    870
    Beitragswertungen
    51 Beitragspunkte
    Hm dann wohl lieber mal die Seiten in die Datenbank speichern.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Währe aber doch viel zu aufwendig, währe es nicht sinnvoller das dass " script" die selfp dateien abfragt nach dem inhalt?
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Wie wärs mit Quelltext kopieren, umschreiben und hier posten? zwinker

    Würde sich sicherlich der ein oder andere darüber freuen.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    lächeln wenn ichs hätte gerne lachen ich hab den post zufällig gesehen und das oben angegebene ausprobiert klappt aber nicht
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    wieso klappt das nicht? bzw was klappt nicht?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Bei mir wir nie was Gefunden bzw. er Sucht auch vielleicht garnicht1 :/ Aber der Code ist der ein und Selbe wie Hier


    Zuletzt modifiziert von Nex4T am 15.03.2013 - 10:31:32
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    also der fehler kommt von der stelle hier:

    $content = file_get_contents('http://localhost/ilch/index.php?'.$row->path);


    klar ist natürlich dass es so nicht geht

    wenn man daraus das macht:
    $content = file_get_contents('index.php?'.$row->path);


    klappt es aber auch nicht ...

    Warning: file_get_contents(index.php?projekte) [function.file-get-contents]: failed to open stream: No such file or directory in include/contents/sitesearch.php on line 29



    man muss folgendes tun:

    $content = file_get_contents('VOLLSTÄNDIGER PFAD/index.php?'.$row->path);



    Zuletzt modifiziert von holz am 15.03.2013 - 12:07:30
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    hab ich schon gemacht, vorher hatte ich ein MYsql fehler war klar! aber nachdem ich den vollständigen pfad eingegeben hab kommt trotzdessen nichts
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ja was passiert denn beim suchen? geht eine neue Seite auf?

    bei mir Funktioniert es nämlich wunderbar


    Zuletzt modifiziert von holz am 15.03.2013 - 12:16:04
    1 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    hab den fehler zwinker

    Das problem bei mir ist das ich die Menüpunkte nicht in die Nabvigation eingefügt hab sondern fest in die index lächeln trotzdessen danke ich euch zwinker


    Ein problem besteht noch in der Suche Box darüber sucht er nicht ;/


    Zuletzt modifiziert von Nex4T am 15.03.2013 - 12:21:30
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    jop das ist vorraussetzung genau

    also damit?

    <?php
    defined ('main') or die ( 'no direct access' );
    ?>
    <form method="post" action="?testsearch"> 
        <input type="text" name="search" /><br />
        <input type="submit" name="submit" value="Suchen" />
    </form>


    hierbei ist das wichtig: action="?testsearch"

    hast du die seite auch testsearch.php genannt? und liegt die unter include/contents
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Jap hab ich, die Box funktioniert auch sofern ich die testsearch.php im content geöffet habe aber sobald ich mich auf einer anderen seite befinde und was suchen möchte macht er nichts


    Zuletzt modifiziert von Nex4T am 15.03.2013 - 12:28:33
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    bei mir schon ... wie hast du die box denn eingebunden?
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    ganz normal über die navigation :/

    #edit habs! zwinker


    Zuletzt modifiziert von Nex4T am 15.03.2013 - 12:53:57
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    hast du mal nen link zu deiner seite?
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    Ah mal noch ne Frage an alle, wie könnte man das erweitern damit die suche nicht mehr casesensitive ist?
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Pion Hall Of Fame
    Registriert seit
    25.07.2007
    Beiträge
    870
    Beitragswertungen
    51 Beitragspunkte
    ZitatZitat geschrieben von holz

    Ah mal noch ne Frage an alle, wie könnte man das erweitern damit die suche nicht mehr casesensitive ist?


    externer Link

    Statt strpos
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ah vielen danke
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten