PHP-Skript über Link ausführen

  • Guten Abend,

    ich nutze das Plugin Woody Snippets zum einbinden einfacher PHP-Skripte. Das klappt bei mir auch gut, es geht um den Aufbau einer Tabelle, ausgehend von einem Code, der durch den Nutzer einzugeben ist.

    https://www.koch-lemke-machacek.de/informationen/…ht/icf_decoder/

    Gibt man nun bspw. den Code b310 ein entsteht die Aufschlüsselung des Codes. Hier sieht man jetzt, dass in der Tabelle unter Exklusiv zweiweitere Code genannt werden, in diesem Fall b167 und b320. Und die würde ich gerne anklickbar machen. Ist soetwas machbar?

    Ich wäre dankbar für einen Tipp, in welche Richtung ich hier denken muss.

    AS

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

    • 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

  • Hm, komme ich damit weiter? So wie ich preg_replace_callback() verstehe, ruft die eine bestimmte Funktion auf, wenn bestimmte Suchkriterien erfüllt sind. Ich will aber eigentlich nur die beiden benannten Codes unter Exklusiv als Link haben, der angeklickt werden kann.

    P.S. Der Tabelle liegt eine ASCII-Datei zu grunde, die ich frei ergänzen kann.

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

  • Man sucht mit preg_replace_callback() z.B. nach allen Zahlen und ersetzt die dann jeweils durch ein Stück HTML-Code mit der entspr. Zahl darin = ein Link.

    Woher kommen denn die Links? Wohin sollen sie linken?

    Wenn die Tabelle in einer ASCII-Datei vorliegt, kannst Du Links auch einfach dort reinschreiben?

  • Ja,über die ASCII-Datei kann ich frei verfügen. Daher ist es sinnvoll, gleich dort die Änderungen vorzunehmen.

    Jetzt aber die Frage (sorry, ich bin Nichtinformatiker): Mit welchem Befehl schreibe ich den neuen Code (bspw. b167) in das Eingabefeld (das dürfte wohl nicht nötig sein) und mit welchem Befehl rufe ich das PHP-Skript auf, das hinter der Decodieren-Schaltfläche sitzt (an das dann der Code zu übergeben wäre). Das PHP-Skript wurde wie geschrieben über Woody eingebunden und läuft über einen Shortcut.

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

  • Vermutlich würde man im PHP-Script [FONT=Courier New]$_POST['var_icfcode'][/FONT] ändern auf [FONT=Courier New]$_REQUEST['var_icfcode'][/FONT] damit wird sowohl [FONT=Courier New]$_POST[/FONT] als auch [FONT=Courier New]$_GET[/FONT] abgefragt, und für die Links in der ASCII-Datei würde man vermutlich wohl sowas in der Art nutzen:

    HTML
    bla bla <a href="https://www.example.com/informationen/hilfen-zum-behindertenrecht/icf_decoder/?var_icfcode=b167">b167</a> bla blub bla


    Das sind aber wirklich einfachste HTML / PHP Formular Grundlagen, mit WordPress hat das eher nichts zu tun.

    5 Mal editiert, zuletzt von b3317133 (6. Februar 2019 um 20:37)

  • Klar, selbstverständlich :rolleyes: Da stand bei mir jemand auf dem Schlauch. Habe das gerade mal an einem Beispiel umgesetzt. Klappt alles. danke für die Hilfe.

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

  • [FONT=Courier New]$_REQUEST['var_icfcode'][/FONT]

    Bitte unbedingt sanitizen! Diese PHP Snippet Plugins eigenen sich zusammen mit $_GET Parametern hervorragend zum Hacken von Servern, wenn man die Inhalte der Variablen nicht "unschädlich" macht.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Bitte unbedingt sanitizen! Diese PHP Snippet Plugins eigenen sich zusammen mit $_GET Parametern..

    Auch zusammen mit [FONT=Courier New]$_POST[/FONT] Parametern oder auch gerne mal mit [FONT=Courier New]$_COOKIE[/FONT] Werten, sanitizen sollte man natürlich immer alles. Wenn das o.g. PHP-Script jetzt via [FONT=Courier New]$_REQUEST[/FONT] "unsicher" ist, dann war es das vorher auch schon, aber es ist natürlich völlig richtig, auf diese Problematik hinzuweisen, einmal zum Thema SQL-Injection oder Remote File Inclusion aber auch gerade wenn wie bei der hier geplanten Änderung die übergebenen Werte auch wieder ausgegeben werden sollen, hier empfiehlt sich Lektüre zu esc_url(), esc_html(), esc_attr() usw.

    2 Mal editiert, zuletzt von b3317133 (6. Februar 2019 um 23:58)

  • @mensmaximus: Vielen Dank für den Hinweis zur Sicherheit. Was heißt das für mich konkret? Einfach nur den Code an den Beginn des PHP-Skriptes stellen?
    Ich habe hier zwar zwei schlaue PHP- und WordPress-Bücher, zu der Tehmatik finde ich aber nichts. Beim Sanitizen geht es wohl um das Löschen von Inhalten temporärer Dateien, oder?

    Mühsam ernährt sich das (Nichtinformatiker-)Eichhörnchen.

Jetzt mitmachen!

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