• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

suchfunktion ähnlich wie planetsearch selber machen

P51D

Mitglied
hallo zusammen

ich bin nun seit rund 3 wochen am suchen, und werde einfach nicht fündig.
dabei wäre das sehr einfach:
eine einfache suchfunktion die sich in eine bestehende hp integrieren lässt.

ich habe auch schon planetsearch ausprobiert und versucht das ganze so abzuändern, dass es für mich stimmt, aber damit war ich erfolglos.

jetzt bleibt mir nur übrig etwas selber zu schreiben, und da stellen sich gleich fragen:

1) wie durchsuche ich auf einfache art und weise ein verzeichniss, mit den files darin?
der eingabe code auf dem template ist relativ einfach:
Code:
<div style="position: absolute; top: 500px; left: 20px">
    <div id="schrift_norm">
        Suchfunktion:
    </div>
    <FORM METHOD=POST ACTION="suchen.php">
        <INPUT TYPE="text" NAME="search_exp"><br/>
        <INPUT TYPE="submit">
    </FORM>
</div>
2) wie mache ich das, dass es mir die ergebnissliste in ein textfeld integriert?
bei den normalen seiten sieht das so aus:
Code:
include($_SERVER["DOCUMENT_ROOT"]."/harmonie/unterseiten/".$_GET["page"].".php");
die links zu den entsprechenden ergebnissen sollten auch so sein, dass die zielseite über include geladen wird.

ich dachte eigentlich, dass es nicht so schwer sein kann, aber allem anschein habe ich mich gewalltig geirrt.

ich hoffe, dass ihr mir ein wenig helfen könnt.

mfg
P51D
 
Deine Ergebnisse wirst Du ja per PHP ermitteln und dann direkt ausgeben. Dein include wird in dem Fall durch die Ermittlungs- und Ausgabeanweisungen ersetzt. include() brauchst Du ja nur, wenn Du den Inhalt einer anderen Datei einfügen willst. Dazu müsstest Du dann aber Deine Suchergebnisse erst in eine andere Datei schreiben, um diese dann zu includen. Das ist ja zuviel des Guten. :-)
 
ok, erstmals danke für die antwort

dies würde dann das 1. problem lösen, nur wie kann ich es realisieren, dass die links dann nicht direkt zu dem include-file gehen, sonder über das hauptfile?

so könnte ich auch dann planetsearch anpassen, da die suchmaschiene ansich mir recht gut gefallen hat.


[EDIT]

ich habe jetzt mal versucht, das suchfeld als include einzubinden, und dies klappt relafiv gut, doch wird die auswertung immer noch in einem neuen file gemacht.

ich denke, dass das problem hier liegt:
Code:
<FORM METHOD=POST ACTION="planetsearch.php">
das php file wird so separat geladen, und nicht wirklich in die seite includet.
jetzt entsteht schon wieder die 2. Frage: wie kann ich dies einbinden?
Code:
<FORM METHOD=POST ACTION="hhome.php?page=planetsearch">
dies funktioniert auch nicht, da er dann aus irgend einem grund immer wieder im hauptverzeichniss nach planetsearch sucht, und nicht im ortner wo die includes sind.

danke nochmals für die hilfe
 
Zuletzt bearbeitet:
wie kann ich es realisieren, dass die links dann nicht direkt zu dem include-file gehen, sonder über das hauptfile?
Indem Du die richtige URL als Linkziel angibst. Include-Files werden ja includet, niemals verlinkt. Sie beinhalten für gewöhnlich auch keine vollständige HTML-Datei, die man verlinken könnte.
Ob dann im PHP-Script includet wird, oder nicht, wirst Du darüber abfragen, ob das Script von einem Formular aus aufgerufen wurde.

doch wird die auswertung immer noch in einem neuen file gemacht.

ich denke, dass das problem hier liegt:
Code:
<FORM METHOD=POST ACTION="planetsearch.php">
das php file wird so separat geladen, und nicht wirklich in die seite includet.
Nein, nie.
Wenn Du ein Formular abschickst, wird eine neue Seite geladen. Die wird dann serverseitig von PHP interpretiert, dabei wird eine neue Seite erzeugt, in diesem Fall mit den Suchergebnissen, und das Ergebnis an den Browser zurück gesendet.

Wenn Du nicht willst, dass eine neue Seite geladen wird, dann könntest Du das Formular per Ajax abschicken, d.h. JavaScript sendet die Daten asynchron an den Server, dort an ein PHP-Script, das nur die Suchergebnisse zurückliefert und JavaScript sorgt, sobald es eine Antwort bekommt, für die Anzeige der Daten.

Wenn jedoch JavaScript abgeschaltet ist, funktioniert nichts mehr. Eine reine PHP-Lösung, die dann auch eine neue Seite lädt, muss da also in jedem Fall her.

Code:
<FORM METHOD=POST ACTION="hhome.php?page=planetsearch">
dies funktioniert auch nicht, da er dann aus irgend einem grund immer wieder im hauptverzeichniss nach planetsearch sucht, und nicht im ortner wo die includes sind.
Das kann so nicht funktionieren, weil Du da den Parameter "page" per GET übergeben würdest, die Formularhinhalte aber per POST. Ich weiß auch gar nicht, ob das möglich ist, im action-Attribut überhaupt Parameter zu übergeben.
Mach einfach ein Eingabefeld vom type="hidden" mit dem Namen "page" und setze value="planetsearch".
 
Zurück
Oben