"Eigene Erweiterung" wie kann ich das sicher umsetzen?

  • Hallo zusammen.
    Ich habe zwar Grundkenntnisse in PHP und MYSQL aber was ich gerade vor habe könnte meinen Hoirzont etwas übersteigen.... Daher benötige ich etwas Hilfe welche ich selber zumindest nicht im forum gefunden habe...:
    Ausgangssituation:
    WP aktuelle Version gerade installiert.
    Theme = Twentyfiftten
    keine plugins oder sonstiges.....

    Ziel:
    Ich erstelle eine Neue Seite Name: Suchoption
    (wenn ich diese Seite aufrufe sieht es aktuell so aus: meinedomain/suchoption/ )
    wenn diese Seite geöffnet wird später vom User, soll ein textfeld erscheinen in dem der User eine Zahl eingeben kann; Beispiel hier"12345"
    diesen Wert möchte ich gerne an ein eigenes PHP skipt in einer von mir selbst erstellen Datei übergeben (Dateiname: auswerten.php)
    diese Datei wertet dies fünfstellige Zahl aus und gibt mit ein array zurück. dieses Array (kann 1 bis x 5 stellige Zahlen zurück geben . Beispiel "54321,11223,22334"
    dieses Array soll wie gesagt zurück am besten zu meine Seite "suchoption" zurück gegeben werden. Ein loop welcher die zahlen entgegen nimmt sucht in meinen Beiträgen anhahnd eines Customfield ob die zahl in einem Beitrag vorhanden ist. wenn ja wird dieser Beitrag angezeigt in einer Liste. Wenn nicht wird halt nichts angezeigt.

    Mein Problem ist das egal wo ich such entweder jemand was gegen die übergabe per "post" hat und auf anderen Seiten im Netz sagen Sie nimm nie "get"
    Meine Idee bzw. mein aktueller stand ist das ich meine
    "suchoption" seite erstellt habe.... ich habe die page.php in meinem theme erweitert mit:

    PHP
    <?phpif (is_page(6))     //Das ist die ID meiner suchoption Seite{ ?><form action="auswerten.php" method="post"><input type="text" size="5" name="Zahl"><input type="submit" value="OK"></form><?php}?>

    wenn ich jetzt eine 5 stellige Zahl in mein textfeld eintrage und auf ok klicke öffne sich eine 404 Seite "Seite wurde nicht gefunden"
    in der Adresszeile steht:
    domain.de/suchoption/auswerten.php

    hier fängt es also schon an mit den Problemen....
    Wo genau ist der Fehler zu finden? muss ich am besten irgendwas an den permalink einstellungen ändern?
    oder sollte ich in diesem fall php_self verwenden und mein ganzes script ist die page.php einfügen zur auswertung?
    bzw. was ist der sicherste weg daten in wordpress vom user entgegen zu nehmen diese in einem eigenen skript zu bearbeiten und dann wieder zurück zu geben?


    Danke im voraus
    einfach112

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren


  • diesen Wert möchte ich gerne an ein eigenes PHP skipt in einer von mir selbst erstellen Datei übergeben (Dateiname: auswerten.php)

    Ich würde die Logik gar nicht in eine externe Datei "auslagern", sondern in dem Fall (fürs erste) direkt in die page.php schreiben.
    Wenn am Ende alles funktioniert, könntest/solltest du das ganze aber vielleicht lieber in ein Plugin (oder die functions.php des Themes) auslagern und das Formular per Shortcode einbinden.


    Mein Problem ist das egal wo ich such entweder jemand was gegen die übergabe per "post" hat und auf anderen Seiten im Netz sagen Sie nimm nie "get"

    Ob du nun GET oder POST bevorzugst, musst du am Ende selbst entscheiden. Beides sollte funktionieren.


    Meine Idee bzw. mein aktueller stand ist das ich meine
    "suchoption" seite erstellt habe.... ich habe die page.php in meinem theme erweitert mit:

    PHP
    <?phpif (is_page(6))     //Das ist die ID meiner suchoption Seite{ ?><form action="auswerten.php" method="post"><input type="text" size="5" name="Zahl"><input type="submit" value="OK"></form><?php}?>

    Wenn du es so machst, wie ich oben geschrieben habe, brauchst du kein "action"-Attribut. Beim Submit werden die Daten dann an die selbe Seite gelitet, die das Formular enthielt. Du kannst also direkt in der page.ph die Auswertung/Weiterverarbeitung machen.

  • Hallo Danielgoehr,
    vielen Dank für deine Antwort.... Ja das habe ich mir jetzt auch schon so gedacht und sagar teilweise umgesetzt ... mein problem ist das ich akutell nicht weis, wie ich mein php ergebnis in der page.php so einbauen kann, das es im Contentbereich angezeigt wird.... nutze aktuell nur zu testzwecken twentyfifteen als theme .... habe in der index.php dort folgenden text gefunden :
    /*
    * Include the Post-Format-specific template for the content.
    * If you want to override this in a child theme, then include a file
    * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    */
    get_template_part( 'content', get_post_format() );

    Mein Englisch ist leider nicht das beste .....
    Aber wenn ich das richtig verstehe brauche ich doch nur eine Datei namens content-MEINCODE.php erstellen und diese in den theme ordner kopieren.... und dann beim erstellen einer Seite dieses "TEMPLATE" dann unter Seiten-Attribute auswählen.... Leider wird unter Seiten-Attribute nur Eltern und reihenfolge angezeigt.... habe auch schon alles unter Ansicht anpassen versucht ... aber auch kein erfolg... weiss du ob ich zusätzliche Content-X.php dateien erst irgendwo registrieren muss ?
    Deine Idee das alles in die Page.php zu machen fände ich natürlich noch besser .... aktuell habe ich auf der page.php meine textbox drin... leider über dem content... nach abschicken der Daten wird mir das ergebniss auf der index.php ausgegeben .....
    Was soll ich nur machen ?


    Danke im voraus
    einfach112

  • Das habe ich jetzt leider nicht so richtig verstanden.


    Deine Idee das alles in die Page.php zu machen fände ich natürlich noch besser .... aktuell habe ich auf der page.php meine textbox drin... leider über dem content... nach abschicken der Daten wird mir das ergebniss auf der index.php ausgegeben .....

    Vorsicht: Das mit der page.php war nur als Zwischenschritt gedacht zum Testen/Erstellen gedacht. Langfristig würde ich es da nicht lassen (auch wenn es theoretisch funktionieren würde).
    Warum wird denn nach Abschiucken der Daten die index.php angezeigt? Wie sieht denn dein Formular momentan aus und in welcher Seite (und welchem Template) wird es angezeigt?

  • Hi sorry das ich immer so umständlich / unverständlich schreibe....
    Also ...Mein Code in der page.php sieht aktuell so aus (Auszug):


    Wenn ich dann meine Zahl in das o.g. Textfeld eingebe und auf OK klicke öffnet sich die Seite index.php (so steht es in der Adresszeile) dort werden die ergebnisse dann auch angezeigt per:


    als ergebnis wird mir derzeit ausgegeben:
    12345
    23451
    34512
    45123
    51234


    Natürlich würde ich gerne eine andere Seite als die index.php für die ergebnisse verwenden.
    1. Weil Sie später meine Startseite sein soll
    2. ich bin noch nicht ganz fertig .... es sollen später nicht die Zahlen ausgegeben werden sondern es soll nach Beiträgen gesucht werden welche in einem customfield die o.g. zahlen enthalten.


    Ist das so verständlich ?
    Ich hoffe mal ja ?

    Und schon einmal VIELEN VIELEN DANK für deine Hilfe ! ! !

  • Wie gesagt, lass das "action" Attribut mal testweise ganz weg (ist in HTML 5 ohnehin optional).
    Ich würde sagen, er müsste dann die POST-Daten an die aktuelle Seite/URL übergeben.

  • ja cool ! das geht schon einmal .... jetzt würde mich am aller meisten noch interessieren wie ich diese page.php irgendwie kopieren und unter anderem namen speichern kann und ich dann sagen kann wenn Seite ->id 6 geöffnet wird dann öffne sie in der MYCONTENT-page.php oder so ähnlich ?

  • ENDGEIL ! also wordpress ist noch viel besser als ich es ohnehin schon dachte ..... Aber jetzt stehe ich mit meinen php-kenntnissen vor dem nächsten Problem.

    Wobei diese Problem schon sehr brutal ist....
    Also : über meine Textbox oben gebe ich ja eine Zahl ein bsp 12345
    nach klick auf ok wird die seite neu geladen.... dann erhalte ich auf meiner neu geladenen Seite ein Ergebnis wie folgt
    23451
    34512
    usw usw ... diese zahlen kommen aus der bereits o.g. sql : [COLOR=#DD0000][FONT=monospace] (SELECT .......... { echo [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]$row[/FONT][/COLOR][COLOR=#007700][FONT=monospace]->[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]ergenis[/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]; echo "[/FONT][/COLOR][COLOR=#007700][FONT=monospace]<[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]br [/FONT][/COLOR][COLOR=#007700][FONT=monospace]/>[/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]";}?><?php} ?>
    jetzt muss ich es noch schaffen irgendwie eine Schleife zu basteln welche mir die zahlen aus dem ergebnis in folgende Zeilen rein macht und immer wieder druchläuft bis das keine ergebnisse mehr vorhanden sind :
    [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace] [/FONT][/COLOR]query_posts('meta_key=plz&meta_compare==&meta_value=XXX HIER MÜSSTEN DIE ERGEBNISSE DURCHLAUFEN XXX &orderby=meta_value&order=DESC');
    könnte mir da noch jemand helfen?
    DANKÖ

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!